Unix - “xargs” - saída “no meio” (não no final!)
exemplo de uso dexargs
aplicação no Unix pode ser algo assim:
ls | xargs echo
que é o mesmo que (digamos que eu tenhasomeFile
esomeDir/
no diretório de trabalho):
echo someFile someDir
assimxargs
pegue sua entrada e coloque-ano fim do próximo comando (aqui no final do eco).
Mas às vezes eu queroxargs
colocar sua entrada em algum lugarno meio do próximo comando.
Por exemplo:
find . -type f -name "*.cpp" -print | xargs g++ -o outputFile
por isso, se eu tivesse nos arquivos de diretório atuala.cpp
, b.cpp
, c.cpp
a saída seria a mesma que com o comando:
g++ -o outputFile a.cpp b.cpp c.cpp
mas eu quero ter algo assim:
g++ a.cpp b.cpp c.cpp -o outputFile
Existe uma forma de fazer isso?
P.S .: Eu preciso disso em alguns casos, porque, por exemplo:
i586-mingw32msvc-g++ -o outputFile `pkg-config --cflags --libs gtkmm-2.4` a.cpp b.cpp c.cpp
não funciona mas este funciona bem:
i586-mingw32msvc-g++ a.cpp b.cpp c.cpp -o outputFile `pkg-config --cflags --libs gtkmm-2.4`