在Unix中使用xargs应用程序的示例可以是这样的:
ls | xargs echo
这与(我说工作目录中有someFile和someDir /)相同:
echo someFile someDir
所以xargs接受它的输入并将它放在下一个命令的末尾(这里是echo的结尾).
但有时我希望xargs将其输入放在下一个命令中间的某个位置.
例如:
find . -type f -name "*.cpp" -print | xargs g++ -o outputFile
所以,如果我在当前目录文件中有a.cpp,b.cpp,c.cpp,则输出与命令相同:
g++ -o outputFile a.cpp b.cpp c.cpp
但是我想要这样的东西:
g++ a.cpp b.cpp c.cpp -o outputFile
有办法吗?
P.S.:在某些情况下我需要它,因为例如:
i586-mingw32msvc-g++ -o outputFile `pkg-config --cflags --libs gtkmm-2.4` a.cpp b.cpp c.cpp
不起作用,但这个工作正常:
i586-mingw32msvc-g++ a.cpp b.cpp c.cpp -o outputFile `pkg-config --cflags --libs gtkmm-2.4`