一、xargs用来干啥?
xargs reads items from the standard input(从标准输入读取要处理的数据item), delimited by blanks (which can be protected with double or single quotes or a backslash,去掉数据之间的分割符) or newlines, and executes the command (default is /bin/echo执行指定命令处理从标准输入获取到的数据items,默认使用/bin/echo) one or more times with any initial-arguments followed by items read from standard input. Blank lines on the standard input are ignored.
二、使用语法
xargs [options] [command [initial-arguments]]
三、使用案例一(遍历test folder中所有.cpp文件,将这些文件中的“替换目标”字符串替换为“替换源”)
find <test folder>/src/ -name *.cpp | xargs sed -i "s/替换目标/替换源/g"
四、使用案例二(查找当前目录下所有文件内容,将找到得字符串进行替换)
grep "替换目标" -rl ./ | xargs sed -i "s/替换目标/替换源/g"
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
五、使用案例三(批量替换文件名)
find ./ -name "替换目标" | xargs -i echo mv \"{}\" \"{}\" | sed 's/替换目标/替换源/2g' | sh