cat : cat file1 file2 file3 这个命令的作用是将文件内容拼接到一起。
-s 删除多余空白行。
find;:文件查找,沿着文件层次结构向下遍历。
我们可以用管道将一个命令的stdout(标准输出)重定向到另一个命令的stdin(标准输入)。
例如: cat foo.txt | frep "test"
但是有些命令只能以命令行参数的形式接受数据,不能以标准输入接受数据。因此就用到了xargs ,它擅长将标准输入数据转换成命令行参数。
xargs可以处理stdin并将起转换成为特定的命令行参数。xargs也可以将单行文本输入转换成其它格式。例如:单行变多行或者多行变单行。
xargs命令紧跟在管道操作符之后,以标准输入作为主要的源数据流,它使用stdin并通过提供命令行参数来执行其他命令。
xargs命令把从stdin接受到的数据重新格式化,再将其作为参数提供给其他命令。
写一个小的脚本理解他:
#!/bin/sh
#文件名:cecho.sh
echo $*‘#‘ ;
./cecho.sh args1 args2 输出结果为; args1 args2#
当参数传递给文件cecho.sh 后,它会将这些参数打印出来,并以#字符作为结尾。
在写一个脚本 cat args.txt
args1
args2
args3
输入命令:cat args.txt | xargs -n 1 ./cecho.sh
结果为; args1#
args2#
args3#
-n 1代表每行打印一个
时间: 2024-10-11 07:51:58