awk与xargs命令

最近学习了linux中的awk与xargs两个命令,将要点记录下来以防忘记。

awk

awk读取文件的每一行,并处理其中的每一个字段
用法:
awk [-F|-f|-v] ‘{command}’ file
[-F|-f|-v] awk参数,-F指定分隔符,-f调用脚本,-v定义变量
$0表示整行,$1每行第一个字段,$2第二个字段,依此类推
一个或多个连续的空格或制表符看做一个定界符,即多个空格看做一个空格
print是awk打印指定内容的主要命令,awk -F ‘:’ ‘{print $1}’ /etc/hosts

xargs

xargs的作用是将标准输入转为命令行参数
用法:
xargs [-options] command,command命令接收xargs传递过来的参数
默认情况下,xargs将空格和换行符作为分隔符,将标准输入转换为多个命令行参数。如 echo “dir1 dir2 dir3” | xargs mkdir,会在当前目录下依次创建三个子目录dir1,dir2,dir3
-p 参数打印出要执行的命令,询问用户是否要执行
-t参数打印出要执行的命令,直接执行
-0指定以null作为分隔符
-L指定多少行作为一个命令行参数,如:echo -e “a\nb\nc” | xargs -L 1 echo,会执行三次,分别输入a, b, c
-n指定每次将多少项作为一个命令行参数,如echo {0…9} | xargs -n 2 echo,将输出5行
-I指定每一项命令行参数的替代字符串,如cat foo.txt | xargs -I file sh -c ‘echo file; mkdir file’,执行命令时,实际的参数将会替换"echo file; mkdir file"中的file

发布了24 篇原创文章 · 获赞 0 · 访问量 3371

猜你喜欢

转载自blog.csdn.net/GuXiaoyan12/article/details/103650863