linux awk和sed工具
慕课网链接:https://www.imooc.com/video/14508
部分示例命令
#替换passwd中的用户名和userid和gid
gsed 's/\(^[a-z_-]\+\):\*:\([0-9]\+\):\([0-9-]\+\):.*$/user:\1 uid:\2 pid:\3/' passwd
#替换出网卡中的ip地址
ifconfig en0 | gsed -n '/inet /p' | gsed 's/inet \([0-9.]\+\) .*$/\1/' #Awk
awk -F ':' '{print $1, $3}' passwd
awk -F ':' '{print "User:"$1,"UID:"$3}' passwd
➜ mac-function-test awk -F ':' '{print NR,NF,FILENAME}' passwd #print和printf
➜ mac-function-test awk -F ':' '{print "Line: "NR, "Col:"Nf,"User:"$1}' passwd
➜ mac-function-test awk -F ':' '{printf("Line:%3s Col:%s User:%s\n",NR,NF,$1)}' passwd
#password文档中用户id大于100的记录
➜ mac-function-test awk -F ':' '{if ($3>100) print "Line: "NR,"User: "$1, "UserId: "$3}' passwd
#打印nginx日志文件中错误发生时间
➜ logs gsed -n '/error/p' error.log | awk '{print $1,$2 }'
打印错误时间方法二
➜ logs awk '/error/{print $1,$2}' error.log
# ~逻辑判断的表达式 !~逻辑判断的表达式 取反 匹配正则表达式
➜ mac-function-test awk -F ':' '$1!~/^e.*/{print $1}' passwd
#userId小于100的数据
➜ mac-function-test awk -F ':' '$3<100{print $1,$3}' passwd #用passwd文件中的3个值做一个统计表
➜ mac-function-test awk -F ':' 'BEGIN{print "Line Col User"}{print NR,NF,$1}END{print"-----"FILENAME"------"}' passwd #当前目录下文件占用的大小
➜ mac-function-test ls -l | awk 'BEGIN{size=0}{size+=$5}END{print " size is " size/1024/1024"M"}'
#统计passwd的账号总人数
➜ mac-function-test awk -F ':' 'BEGIN{count=0}$1!~/^$/{count++}END{print "count = "count}' passwd
#打印用户id大于100的账号
➜ mac-function-test awk -F ':' 'BEGIN{count=0}{if($3> 100) name[count++]=$1}END{for(i=0;i<count;i++)print i,name[i]}' passwd
#统计netstat -anp状态下为ESTABLISHED
将.properties文件中注释的行替换为空
gsed -i 's/^#.*//' needupload.properties
bilibili中不错的视频教程:
https://www.bilibili.com/video/BV1WW411v7PS/?p=11
相应推荐的在线网站:
正则注意贪婪模式和转义符号“\”;
慕课网课程2:https://www.imooc.com/video/7345
linux通配符:*代表匹配任意字符;?代表匹配任意一个字符;[]代表匹配其中的一个字符
➜ mac-function-test touch cangls
➜ mac-function-test touch canyls
➜ mac-function-test ls can?ls
cangls canyls
➜ mac-function-test ls can???
cangls canyls
➜ mac-function-test ls can*
cangls canyls
➜ mac-function-test ls can[gy]ls
cangls canyls
➜ mac-function-test ls can[g]ls
cangls
➜ mac-function-test touc abc
zsh: command not found: touc
➜ mac-function-test touch abc
➜ mac-function-test touch abcd
➜ mac-function-test find . -name abc
./abc
➜ mac-function-test find . -name abc?
./abcd
➜ mac-function-test find . -name "abc*"
./abc
./abc.txt
./abcd
正则中“*”前一个字符匹配0次,或者任意多次
“a*”
#匹配所有内容,包括空白行
“aa*”
#匹配至少包含一个a的行
正则中“.”匹配除了换行符外的任意一个字符
“[]”匹配中括号中指定的任意一个字符,只匹配一个字符
“^[^a-z]”
#匹配不用小写字母开头的行
“^[^a-zA-Z]”
#匹配不用字母开头的行
“\”转移符
“\{n\}”表示其前面的字符恰好出现n次
#例子 匹配2010-09-01
[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}
awk使用print和printf的区别
➜ mac-function-test awk '{printf $2 "\t" $4 "\n"}' student.txt
➜ mac-function-test awk '{print $2 "\t" $4 }' student.txt
➜ mac-function-test df -h | grep '/' | awk '{print $5}' | cut -d "%" -f 1 ➜ mac-function-test cat student.txt
Id name gender mark
1 furong f 85
2 fengj F 60
3 cang F 70
➜ mac-function-test awk '{print $2 "\t" $4}' student.txt
name mark
furong 85
fengj 60
cang 70
➜ mac-function-test awk 'BEGIN{print "test"}{print $2 "\t" $4}' student.txt
test
name mark
furong 85
fengj 60
cang 70
➜ mac-function-test awk 'END{print "test"}{print $2 "\t" $4}' student.txt
name mark
furong 85
fengj 60
cang 70
test ➜ mac-function-test cat passwd|grep /bin/bash
_mbsetupuser:*:248:248:Setup User:/var/setup:/bin/bash
➜ mac-function-test cat passwd|grep /bin/bash |awk '{FS=":"}{print $1 "\t" $3}'
_mbsetupuser:*:248:248:Setup
➜ mac-function-test cat passwd|grep /bin/bash |awk 'BEGIN{FS=":"}{print $1 "\t" $3}'
_mbsetupuser 248
➜ mac-function-test cat student.txt|grep -v name
1 furong f 85
2 fengj F 60
3 cang F 70
➜ mac-function-test cat student.txt|grep -v name | awk '$4>=70{print $2}'
furong
cang ➜ mac-function-test sort -n -t ":" -k 3,3 passwd
linux awk和sed工具的更多相关文章
- Linux - awk 文本处理工具一
AWK AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一:awk经过改进生成的新的版本nawk,gawk,现在默认linux系统下日常使用的是gawk,用命 ...
- Linux - awk 文本处理工具六 - 日志关键字筛选
查看多少行 ? awk '{print NR}' access.log |tail -n1 日期时间筛选检测 awk '/Dec 10/ {print $0}' /opt/mongod/log/mon ...
- Linux - awk 文本处理工具五
awk 线上处理常用模式 awk 处理复杂日志 6.19: DHB_014_号百总机服务业务日报:广州 到达数异常! DHB_023_号百漏话提醒日报:珠海 到达数异常! 6.20: DHB_014_ ...
- Linux - awk 文本处理工具四
awk 常用示例 获取本机 IP 方式 /sbin/ifconfig |awk -v RS="Bcast:" '{print $NF}'|awk -F: '/addr/{print ...
- Linux - awk 文本处理工具三
AWK 文件打印匹配 格式示例 awk '/Tom/' file # 打印匹配到得行 awk '/^Tom/{print $1}' # 匹配Tom开头的行 打印第一个字段 awk '$1 !~ /ly ...
- Linux的文本处理工具浅谈-awk sed grep
Linux的文本处理工具浅谈 awk 老大 [功能说明] 用于文本处理的语言(取行,过滤),支持正则 NR代表行数,$n取某一列,$NF最后一列 NR==20,NR==30 从20行到30行 FS ...
- Linux Shell 文本处理工具集锦--Awk―sed―cut(row-based, column-based),find、grep、xargs、sort、uniq、tr、cut、paste、wc
本文将介绍Linux下使用Shell处理文本时最常用的工具:find.grep.xargs.sort.uniq.tr.cut.paste.wc.sed.awk:提供的例子和参数都是最常用和最为实用的: ...
- Linux学习grep,sed,awk工具的使用
1.grep:根据模式搜索文本并将符合模式的文本显示出来(pattern模式:由文本字符和正则表达式元字符所匹配出来的条件) 注:alias grep='grep --color' -c:打印符合要求 ...
- AWK文本处理工具(Linux)
AWK文本处理工具(Linux) PS:刚开始实习,就给了个处理百万级别数据的任务,以前学过SHELL的一些东西sed/awk之类的处理,但是也没有具体的应用,只是在10几行10几列的小数据操作过,所 ...
随机推荐
- 编程用sort进行排序,然后从最后一个元素开始判断,去重
a=[,,,,,,,,,,,,,,] a.sort() last=a[-] ,-,-): if last==a[i]: del a[i] else: last=a[i] print(a)
- Java Heap dump文件分析工具jhat简介
jhat 是Java堆分析工具(Java heap Analyzes Tool). 在JDK6u7之后成为标配. 使用该命令需要有一定的Java开发经验,官方不对此工具提供技术支持和客户服务. 用法: ...
- codeforces1187E
题目链接:http://codeforces.com/problemset/problem/1187/E E. Tree Painting You are given a tree (an undir ...
- 查看linux系统版本相关信息
1.查看内核版本:cat /proc/version A机器 root@debian:~# cat /proc/version Linux version -- (ty@debian) ( (Debi ...
- Co-Clustering_Reproducing
调包一时爽,复现马上躺. Co-Clustering 注意右上角的:"Edit on GitHub",一开始疯狂吐槽没有源码,复现得非常难受,今天刚做完GM05中Algotirhm ...
- AWS 配置IPv6
- VVDocumenter-Xcode
从Xcode 5开始,苹果要求加入UUID证书从而保证插件的稳定性.因此Xcode版本更新之后需要在VVDocumenter-Xcode的Info.plist文件中添加Xcode的UUID. 步骤 ...
- 使用Docker快速搭建Tensorflow开发环境
当我刚开始学习使用scikit-learn时,总是会出现各种各样的包依赖问题,兜兜转转了一遍才全部安装好,现在的机器学习算法开发者大都使用tensorflow.pytorch来实现自己的想法,但依然会 ...
- (十一)会话跟踪技术之作用域(request、session、servletContext)
一.作用域范围 Request 保存的键值仅在下一个request对象中可以得到,作用于两个有请求关系的页面 Session 它是一个会话范围,相当于一个局部变量,从Sess ...
- 第三方框架MBProgressHUD-----实现各种提示框
程序运行显示如下 : 点击按钮实现对应的提示框: 这里只截取了其中一张图,有兴趣的可以自己运行程序,查看其他的几种提示框哟!!! 第三方框架MBProgressHUD的下载地址:https://git ...