awk+sed+sort常用命令收集

一:awk




1,在每一行后加;

awk ' {print ($0";");}' cn >cnc1

awk ' {print ($0" A");}' test2 >test3


二:sed


1,显示某一行

sed -n '2p' dns10.txt

显示某一行到某一行

sed -n '10.20p' dns10.txt


 3,在每行的头添加字符,比如"HEAD",命令如下:
sed 's/^/HEAD&/g' test.file
在每行的行尾添加字符,比如“TAIL”,命令如下:
sed 's/$/&TAIL/g' test.file


三:sort


1,给ip地址排序


$ cat ip.txt
21.3.145.6
71.0.0.12
55.232.12.67
166.111.8.28
166.111.8.29
1.2.3.4
4.3.2.1
127.0.0.12
55.255.255.255
123.54.32.67
211.7.45.234
192.168.0.1
使用如下命令则可对文件中的IP按照从小到大进行排序:sort -t"." -k1,1n -k2,2n -k3,3n -k4,4n
要反过来排序,即从大到小排序,可以这样:sort -t"." -k1,1nr -k2,2nr -k3,3nr -k4,4nr
下面对上述两个命令稍作解释:
(1)-t"." 表示用“.”分隔要排序的Field
(2)-k1,1n 表示用(1)中得到的第一个Field作为Key来排序,在这里就是IP的第一段,n表示把这个Field排序时把其作为数值来对待。
(3)-k1,1nr表示反过来排序了解以上几点,对命令就比较清楚了,就是优先用ip的第一段进行排序,其次为第二段,然后第三段,最后考虑第四段。

你可能感兴趣的:(linux)