在Linux中药进行稍复杂的操作,通常需要借助管道命令"|"多个命令的组合,形式如下:
command 1 | command 2 | command 3 ……
在linux中有些命令可以直接用于管道命令中,有些则不可以,对于不可以直接用于管道的命令需要借助xargs命令:
- find ./ -type f | xargs md5sum >> md5_rc1.txt
- find ./ -type f -print| xargs md5sum >> md5_rc1.txt
- find ./ -type f -print0| xargs -0 md5sum >> md5_rc1.txt
其中,第一种和第二种的结果相似,第三种是适用于文件名含有空格的文件。原理是:通常xargs用于隔断文件是默认为:空格、TAB、换行符等,-print0则是以NULL隔断文件,xargs -0 就是以NULL来区分文件隔断
而对于可以直接用于管道的命令,不需要xargs直接写就可以,直接写在管道符后面就能判断,例如要确定wc命令是不是可以直接用于管道的命令
ls -l | wc -l
对于常用的可以直接用于管道的命令,主要有:
- cut
- grep
- sort
- uniq
- wc
- tee
- tr
- col
- join
- paste
- expand
- xargs
命令的具体用法和参数可以参考
http://www.cnblogs.com/lemonbar/archive/2014/08/24/3933390.html