コンテンツにスキップ

Top

xargsで複数のコマンドを実行する

xargsで受け取った引数をもとにコマンドを複数実行したい場合、シェルスクリプトを作って云々をやっていたが、shコマンドで簡単にできることが分かった。

ls コマンドから受け取ったディレクトリに入ってlsをして元のディレクトリに戻る、というのをやってみる。
(各ディレクトリにはそれぞれ1.txt、2.txt、3.txtが入っている)

$ ls -1 | xargs -I{} sh -c 'cd {}; ls; cd ../'
1.txt
2.txt
3.txt

こんな感じでcdで中に入ってlsして戻る、ということをしている。

以上。