次のように番号付けされた多数のファイルがあります。file_01_01.out
最初の数字はファイルが属するグループ、2番目の数字はそのグループ内のファイルの番号です。file_10_07.out
グループ10のファイル7にも同様に適用される。
このファイルのいくつかのテキストをコピーしていくつかの出力ファイルにグループ化したいと思います。これを試してみましたが、実際には機能しませんでした。理由はわかりません。
for i in {0..21};
do
grep "text" file_$i_*out > out_$i.txt;
done;
なぜこれがうまくいかないのかわかりませんが、出力には確かにロジックがあります。これは私が望む出力ではありません。一部のファイルは完全にスキップされました。
答え1
(@Philipposを除く):Bashは$i_
代わりに変数を拡張しようとしています$i
。...${i}_...
for i in {00..21}
do
grep "text" file_${i}_*out > out_$i.txt
done
答え2
あなたのスキーマは拡張されますが、file_1_
次のものが必要です。file_01_
使用for i in {00..21};