Unix - "xargs" - output "in the middle" (not at the end!)
- by Petike
Hello,
example use of "xargs" application in Unix can be something like this:
ls | xargs echo
which is the same as (let's say I have "someFile" and "someDir/" in the working dir):
echo someFile someDir
so "xargs" take its "input" and place it "at the end" of the next command (here at the end of echo).
But sometimes I want xargs to place its input somewhere "in the middle" of next command.
For example:
find . -type f -name "*.cpp" -print | xargs g++ -o outputFile
so if I had in the current directory files "a.cpp" "b.cpp" "c.cpp" the output would be the same as with the command:
g++ -o outputFile a.cpp b.cpp c.cpp
but I want to have something like this:
g++ a.cpp b.cpp c.cpp -o outputFile
Is there a way to do it?
P.S.: I need it in some cases, because e.g.:
i586-mingw32msvc-g++ -o outputFile `pkg-config --cflags --libs gtkmm-2.4` a.cpp b.cpp c.cpp
doesn't work but this one works fine:
i586-mingw32msvc-g++ a.cpp b.cpp c.cpp -o outputFile `pkg-config --cflags --libs gtkmm-2.4`
Thanks.
Petike