命令xargs命令:Linux 的强大协助利器(linux的xargs)
Unix/Linux 系统是典型的多任务操作系统,提供了大量的工具以及命令以满足日常使用,其中 Xargs 命令可以从标准输入构建并运行其他程序,它可以简化复杂的任务。它会从标准输入接收一系列参数地址,然后将这些参数传递给指定的程序,这样就可以减少为处理复数文件,输入和输出,做循环等创建多余的工作量了。
Xargs 命令主要用于从标准输入获取参数,并将它们转换为某些命令行参数。我们可以使用 Xargs 将一次只能处理一个文件名的shell 命令转换成可以接管多个文件名的任务。
例如,我们可以使用:`ls | xargs` -i 将文件列表以某种方式处理,管道方法,参数替换符号 `-i` 会将每行内容替换成该参数,最终的运行结果如下:
ls
tes1.txt test2.txt test3.txt test4.txt
ls | xargs -i cp {} bak/
上面的命令将 test1.txt,test2.txt,test3.txt 和 test4.txt 文件复制到名为 bak 的目录下,其中{} 是参数替换符号,它会将每行输入替换为参数。我们还可以使用 `-I` 参数替换符号来启用单个参数处理多个文件,只需要把 `-I` 换成指定的参数即可,效果如下:
ls
tes1.txt test2.txt test3.txt test4.txt
ls | xargs -I filename cp filename bak/
上面的命令用 “filename” 替换了参数替换符号,它会将每行的输出替换为参数,最终的运行结果如下:
cp test1.txt bak/
cp test2.txt bak/cp test3.txt bak/
cp test4.txt bak/
从上面的例子可以看出,Xargs 命令很强大,可以构建复杂的任务,节省了工作量,方便管理,是 Linux 功能完备系统的强大协助利器。