day-15正则表达式awk

2019-03-20  本文已影响0人  Diudiu_0588

cut 切割按列切割

-d 指定分隔符 -f 指定列

三剑客

grep过滤查找内容。

sed取行,增删改查

awk取列

语法

awk 参数 模式动作 文件

参数

-F指定分隔符

列表示:

$1 第一列 以此类推

$0 整行

$NF 最后一列

$NF-1 倒数第二列 以此类推

NR 行号

实践:

搭建环境 sed -n '1,5p' /etc/passwd >test.txt
问题1:取test.txt文件的第2行到第3行的内容。

sed -n '2,3p' test.txt

awk 'NR>1&&NR<4' test.txt

awk 'NR==2,NR==3' test.txt

问题2:过滤出含有root字符串的行※。

grep "root" test.txt

awk '/root/' test.txt

问题3:删除含有root字符串的行※。

sed '/root/d' test.txt

问题4:取文件的第一列、第三列和最后一列内容,并打印行号※。

awk -F":" '{print NR,$1,$3,$NF}' test.txt

问题5:取出Linux中执行ifconfig eth0后对应的IP地址(只能输出IP地址)。

ifconfig eth0|sed -nr 's#^.*net (.*) net.*$#\1#gp'

问题6:过滤文件中第一列内容匹配root的字符串,把符合的行的最后一列输出。

awk -F":" '$1~/root/{print $NF}' test.txt

sed -nr 's#^root.*:(.*)#\1#gp' test.txt
上一篇 下一篇

猜你喜欢

热点阅读