相关疑难解决方法(0)

Unix - "xargs" - 输出"在中间"(不在最后!)

xargs在Unix中使用应用程序的示例可以是这样的:

ls | xargs echo
Run Code Online (Sandbox Code Playgroud)

这与(假设我有someFile并且someDir/在工作目录中)相同:

echo someFile someDir
Run Code Online (Sandbox Code Playgroud)

所以xargs取其输入并将其放在下一个命令的末尾(这里是echo的结尾).

但有时我想把xargs它的输入放在下一个命令中间的某个地方.

例如:

find . -type f -name "*.cpp" -print | xargs g++ -o outputFile
Run Code Online (Sandbox Code Playgroud)

所以如果我在当前目录中的文件有a.cpp,b.cpp,c.cpp输出将是相同的用命令:

g++ -o outputFile a.cpp b.cpp c.cpp
Run Code Online (Sandbox Code Playgroud)

但是我想要这样的东西:

g++ a.cpp b.cpp c.cpp -o outputFile
Run Code Online (Sandbox Code Playgroud)

有办法吗?

PS:在某些情况下我需要它,因为例如:

i586-mingw32msvc-g++ -o outputFile `pkg-config --cflags --libs gtkmm-2.4` a.cpp b.cpp c.cpp
Run Code Online (Sandbox Code Playgroud)

不起作用,但这个工作正常:

i586-mingw32msvc-g++ a.cpp b.cpp c.cpp -o outputFile `pkg-config --cflags --libs gtkmm-2.4`
Run Code Online (Sandbox Code Playgroud)

unix g++ xargs

8
推荐指数
2
解决办法
3876
查看次数

标签 统计

g++ ×1

unix ×1

xargs ×1