Вывод повторного использования от команды 1 в команде 2 с помощью канала

Вы должны иметь лучшую оценку с:

wmctrl -l | wc -l

(что дает 40 окон, по сравнению с 312 для xwinfo)

.
0
16.02.2015, 18:24
3 ответа

нет никакой проблемы, чтобы сделать вещь с xargs

myCommand | xargs -I{} sh -c 'echo -n {}\ ; cat /folder/{}/folder2/file'

, Но больше syntaxically право и очень гибкий делает это с для цикл:

for genpath in $(myCommand)
do
    echo -n $genpath\ 
    cat /folder/$genpath/folder2/file
done

Или даже до , в то время как цикл

while read genpath
do
    echo -n $genpath\ 
    cat /folder/$genpath/folder2/file
done < <(myCommand)
1
28.01.2020, 02:51

Вы можете использовать -I с xargs для замены плейсхолдера в вашей команде:

myCommand | xargs -I % cat /folder/%/folder2
0
28.01.2020, 02:51

Вы можете попробовать использовать замену команды с расширением списка скобок:

cat /folder/["$(myCommand)"]/folder2

Пример с printf в качестве команды:

$ mkdir dir1 dir2 dir3
$ echo a > dir1/file
$ echo b > dir2/file
$ echo c > dir3/file
$ cat ./dir["$(printf "%s\n" {1..3})"]/file
a
b
c
0
28.01.2020, 02:51

Теги

Похожие вопросы