shell中的xargs命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/immrwk/article/details/52578084

xargs命令的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题

例如:

在家目录下新建一tmp文件,然后查看其内容时两者的区别

immrwk@immrwk-pc:~$ cat tmp
1 2 3
4 5 6
7 8 9 
immrwk@immrwk-pc:~$ cat tmp|xargs 
1 2 3 4 5 6 7 8 9  

加入 -n 传参可将其多行输出

immrwk@immrwk-pc:~$ cat tmp|xargs -n 1
1
2
3
4
5
6
7
8
9

删除某个字符来做分隔

immrwk@immrwk-pc:~$ cat tmp|xargs -d 5 
1 2 3 
4  6
7 8 9

与find命令结合使用

immrwk@immrwk-pc:~/tmp$ ls
1.c  1.java  2.c  2.java  3.c  3.java
immrwk@immrwk-pc:~/tmp$ find -name '*.c'|xargs rm 
immrwk@immrwk-pc:~/tmp$ ls
1.java  2.java  3.java

统计当前目录及其子目录下的java文件有多少行,并按行数降序排列(只是统计出了该文件一共多少行,无法对空行注释行有效行进行分类)

find -name '*.java' -print0|xargs -0 wc -l|sort -nr

结果如下图所示:

xargs查代码行数示例图片

找到哪个文件中有所要想找的内容

find *.java -type f -print|xargs grep "内容"

猜你喜欢

转载自blog.csdn.net/immrwk/article/details/52578084
今日推荐