Unix - "xargs" - output "in the middle" (not at the end!)
Posted
by Petike
on Stack Overflow
See other posts from Stack Overflow
or by Petike
Published on 2009-09-05T11:57:23Z
Indexed on
2010/06/10
19:12 UTC
Read the original article
Hit count: 233
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
© Stack Overflow or respective owner