| 与xargs究竟有什么区别?
发表于 : 2012-10-07 14:15
| 与xargs究竟有什么区别?
|用来将前一个命令的标准输出传递到下一个命令的标准输入,
xargs将前一个命令的标准输出传递给下一个命令,作为它的参数。
好难理解,什么时候用|,什么时候用xargs,他们的区别究竟在哪里?
tiger@debian:~$ ls | wc -l
110
tiger@debian:~$ ls |xargs wc -l
wc: (1000)《统计学》(第四版)—ppt—给教师用: Is a directory
0 (1000)《统计学》(第四版)—ppt—给教师用
50 a50
62 a50~
167017 adobe.deb
837 aliedit.sh
2882469 bsd.img
wc: coreutils-8.5: Is a directory
0 coreutils-8.5
80 coreutils_8.5-1.diff.gz
30 coreutils_8.5-1.dsc
40946 coreutils_8.5.orig.tar.gz
2 dd.sh
3 ddtime.sh
wc: Desktop: Is a directory
0 Desktop
为何
ls |wc -l ls |xargs wc -l 都能成立?
观察发现, ls |wc -l 显示的是当前目录下面的所有文件数目。ls | xargs wc -l 好像是当前目录下面各个文件的长度。
可否帮忙分析一下,我还是有点不 理解。
|用来将前一个命令的标准输出传递到下一个命令的标准输入,
xargs将前一个命令的标准输出传递给下一个命令,作为它的参数。
好难理解,什么时候用|,什么时候用xargs,他们的区别究竟在哪里?
tiger@debian:~$ ls | wc -l
110
tiger@debian:~$ ls |xargs wc -l
wc: (1000)《统计学》(第四版)—ppt—给教师用: Is a directory
0 (1000)《统计学》(第四版)—ppt—给教师用
50 a50
62 a50~
167017 adobe.deb
837 aliedit.sh
2882469 bsd.img
wc: coreutils-8.5: Is a directory
0 coreutils-8.5
80 coreutils_8.5-1.diff.gz
30 coreutils_8.5-1.dsc
40946 coreutils_8.5.orig.tar.gz
2 dd.sh
3 ddtime.sh
wc: Desktop: Is a directory
0 Desktop
为何
ls |wc -l ls |xargs wc -l 都能成立?
观察发现, ls |wc -l 显示的是当前目录下面的所有文件数目。ls | xargs wc -l 好像是当前目录下面各个文件的长度。
可否帮忙分析一下,我还是有点不 理解。