此篇记录在个人笔记库的时间是2023-12-13,公布到互联网上的时间是2024-04-09
这个命令最开始是在5年前看人用过,当时不太理解,最近又看到有人在用,突然间就通了,也查阅了点资料,记录下这个笔记:
比如查某目录下.cpp文件中带有main的字符串:
find . -name "*.cpp" | xargs grep -in "main"
其他的就不解释了,就看下xargs:
在Linux中,xargs命令的全称是"eXtended ARGuments"。它的主要作用是读取标准输入数据,并将其作为参数传递给其他命令进行处理。
xargs命令通常用于解决输入参数过多导致命令行过长的问题。它可以将输入数据分割成合适的大小,并多次调用其他命令来处理这些分割后的参数。
使用xargs命令的基本语法如下:
command | xargs [options] [command]
其中,command是需要处理输入参数的命令,可以是任何合法的命令。
常用的选项包括:
- -d delimiter:指定输入参数的分隔符,默认为换行符。
- -I replstr:指定替换字符串,用输入参数替代该字符串。
- -n num:指定每个命令行调用的参数个数,避免参数过多。
- -t:显示xargs执行的命令。
下面是一些示例:
将文件列表作为参数传递给其他命令,每次调用传递的参数不超过5个:
ls *.txt | xargs -n 5 command
从文件中读取参数列表,并将其作为命令的输入:
xargs command < file.txt
通过管道传递参数给xargs命令,并调用其他命令处理这些参数:
echo "arg1 arg2 arg3" | xargs command