awk,grep,sed文本格式化处理

一、awk取列

[root@web01 ~]# cat /etc/passwd|awk -F ':' '{print $1"\t\t"$7}'  ###-F指定分隔符
root        /bin/bash
bin        /sbin/nologin
daemon        /sbin/nologin
adm        /sbin/nologin
lp        /sbin/nologin

二、grep文本搜索工具

[root@web01 ~]# grep test /etc/passwd    #####在文件中查找含有test字段的行
test3:x:1002:1002::/home/test3:/bin/bash
suffergtf:x:1003:1003::/test/suffergtf:/bin/bash
test2:x:1004:1004::/home/test2:/bin/bash
test:x:1005:1005::/home/test:/bin/bash
[root@web01 ~]# grep nginx /etc/*  #####再多个文件中查找含有test字段的文件和行
/etc/group:nginx:x:500:
/etc/group-:nginx:x:500:
/etc/gshadow:nginx:!::
/etc/gshadow-:nginx:!::
[root@web01 ~]# grep -v "test" /etc/passwd      #####-v 排除test字段
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

三、sed字符串替换

[root@web01 ~]# cat /tmp/test.sh 
for n in `seq 100000`;do echo $n>>/tmp/test.txt;sleep 1;done
[root@web01 ~]# sed -i 's/100000/1/g' /tmp/test.sh       ########直接在文本中将字符串100000替换为1,
[root@web01 ~]# cat /tmp/test.sh 
for n in `seq 1`;do echo $n>>/tmp/test.txt;sleep 1;done

常用记忆,持续更新

猜你喜欢

转载自www.cnblogs.com/suffergtf/p/9134766.html