Команды конвейера на каждом проходе xargs - PullRequest
0 голосов
/ 14 ноября 2018

Допустим, у меня есть это:

echo '/dev/sd'{a..d} | xargs -n 1 lsblk $1 

Но теперь я хочу передать каждый проход xargs как, например:

echo '/dev/sd'{a..b} | xargs -n 1 lsblk $1 | tail -n +2

Теперь это не работает, очевидно,потому что канал применяется ко всем командам xargs.Поэтому я мог бы попробовать это:

echo '/dev/sd'{a..b} | xargs -n 1 bash -c "lsblk $1 | tail -n +2"

Но проблема в том, что теперь $ 1 не имеет значения внутри оболочки.

Как я могу это преодолеть?Или вообще, как я могу передать выполнение, выполняемое xargs на каждом проходе?

...