数値リストを返すLinuxコマンドがあります。ディレクトリパスを形成し、そのパスにあるファイルをキャプチャするには、この番号が必要です。例: myCommand は以下を返します。
1
10
30
40
次のすべてのファイルをキャプチャしたいと思います。
/folder/1/folder2
/folder/10/folder2
/folder/30/folder2
/folder/40/folder2
何が欲しいのか知ってほしい。そうでない場合は、お気軽にお問い合わせください。これは私の現在のコードです。
myCommand | xargs cat
しかし、ディレクトリ1,10,30と40が存在しないため、明らかに動作しません。
私は出力を次のようにしたいと思います: catted value - myCommandによって生成された数値
ベストアンサー1
仕事をするのに問題はありませんxargs
myCommand | xargs -I{} sh -c 'echo -n {}\ ; cat /folder/{}/folder2/file'
しかし、for
ループの使用は構文的により正確で柔軟です。
for genpath in $(myCommand)
do
echo -n $genpath\
cat /folder/$genpath/folder2/file
done
またはwhile
ループを介して
while read genpath
do
echo -n $genpath\
cat /folder/$genpath/folder2/file
done < <(myCommand)