awk,seq,xarg实例使用

基于https://www.cnblogs.com/wangyuebo/p/5836933.html的详细补充讲解 [root@localhost awk]# seq 10|xargs -n 2 > file [root@localhost awk]# seq 10  -1 1|xargs -n 2 > file1   xrags -n 2【表示每次批处理的数量为2个,默认的间隔为“ ”】 seq 10 -1 1【表示生成10个数字,逆序输出,步长为1】     [root@localhost awk]# cat file1  2 3  4 5 6 7  8 9  1 0   [root@localhost awk]# cat file |awk '{print $1}' 1 3 5 7 9 [root@localhost awk]# awk '{print NR}' file file1 1 2 3 4 5 6 7 8 9 10 [root@localhost awk]# awk '{print NR,FNR}' file file1 1 1 2 2 3 3 4 4 5 5 6 1 7 2 8 3 9 4 10 5 [root@localhost awk]#   [root@localhost awk]# awk 'NR==FNR{a[NR]=$1}NR!=FNR{print a[FNR],$2}' file file1 1 93 75 57 39 1 [root@localhost awk]# awk的详解: awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 特殊要点: $0           表示整个当前行 $1           每行第一个字段 NF          字段数量变量 NR          每行的记录号,多文件记录递增 FNR        与NR类似,不过多文件记录不递增,每个文件都从1开始 \t            制表符 \n           换行符 FS          BEGIN时定义分隔符 RS       输入的记录分隔符, 默认为换行符(即文本是按一行一行输入) ~            匹配,与==相比不是精确比较 !~           不匹配,不精确比较 ==         等于,必须全部相等,精确比较 !=           不等于,精确比较 &&      逻辑与 ||             逻辑或 +            匹配时表示1个或1个以上 /[0-9][0-9]+/   两个或两个以上数字 /[0-9][0-9]*/    一个或一个以上数字 FILENAME 文件名 OFS      输出字段分隔符, 默认也是空格,可以改为制表符等 ORS        输出的记录分隔符,默认为换行符,即处理结果也是一行一行输出到屏幕 -F'[:#/]'   定义三个分隔符   [root@localhost awk]# paste file3 file4 1    9 3    7 5    5 7    3 9    1 [root@localhost awk]# paste file3 file4|tr "\t" " " 1 9 3 7 5 5 7 3 9 1 paste 指令会把每个文件以列对列的方式,一列列地加以合并。 -d<间隔字符>或--delimiters=<间隔字符>  用指定的间隔字符取代跳格字符。 -s或--serial  串列进行而非平行处理。      
上一篇:Linux 文本处理利器--Awk常用命令


下一篇:shell 监控