複数のcsvファイルのgrepコマンドループに関する問題

複数のcsvファイルのgrepコマンドループに関する問題

以下のようにforループスクリプトを作成しました。

for file in *.csv
do
grep raxA $file > new_${file}
done && 
mkdir raxA && mv new_* raxA &&
for file in *.csv
do
grep raxB $file > new_${file}
done && 
mkdir raxB && mv new_* raxB &&
for file in *.csv
do
grep raxC $file > new_${file}
done && 
mkdir raxC && mv new_* raxC

このスクリプトは、すべてのキーワードが次に見つかったときに機能します。データセットファイルですが、ファイル内のキーワードのいずれかが欠落している場合は失敗します。データセット文書。これを完了するのに役立ちますか?grep指定されたキーワードがcsvファイルにありません。よろしくお願いします。

ベストアンサー1

似たようなものが欲しいようです。

mkdir -p raxA raxB raxC &&
  awk '
    /raxA/ {print > ("raxA/new_"FILENAME)}
    /raxB/ {print > ("raxB/new_"FILENAME)}
    /raxC/ {print > ("raxC/new_"FILENAME)}' ./*.csv

おすすめ記事