bashシェルスクリプトループ内のawkコマンド

bashシェルスクリプトループ内のawkコマンド

bash一連のテキストファイルを繰り返す必要があるスクリプトがあります。このタスクを自動的に実行するループを作成しましたが、forスクリプトの実行時に出力ファイルを取得できません。

オンラインで見つけたさまざまな1行のコマンドを試しましたが、成功しませんでした。これらの大容量ファイルを「年」別に分類したいと思います。どんな提案がありますか?

#!/usr/awk -f
        for i in *yyyymm.txt
        do
#       {FS = "," }
        awk -F "," 'BEGIN '$1 == 2002'END{ print $0 }' $i > "$i"-2002.dat
        gawk '$ 1==2002 { print $0 }' "$i" > "$i"-2002.dat
        awk '/2002/' "$i" > "$i"-2002.dat 

ベストアンサー1

ファイルがすべてコンマで区切られ、最初のフィールド($1)に年が含まれていると仮定すると、必要なものは次のとおりです。

awk -F, '{print > FILENAME "-" $1 ".dat"}' *yyyymm.txt

おすすめ記事