Unix - «xargs» - вывод «посередине» (не в конце!)
пример использованияxargs
Приложение в Unix может быть примерно таким:
ls | xargs echo
что так же, как (скажем, у меня естьsomeFile
а такжеsomeDir/
в рабочем каталоге):
echo someFile someDir
такxargs
взять его вход и поместить егов конце следующей команды (здесь, в конце эха).
Но иногда я хочу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
Есть ли способ сделать это?
П.С .: Мне это нужно в некоторых случаях, например:
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`