Bash
bash shell腳本循環中的awk命令
我有一個
bash
腳本,它應該通過一系列文件文本文件。我已經編寫了一個for
循環來自動為我完成這項工作,但是當腳本執行時我沒有得到任何輸出文件。我嘗試了在網上找到的各種單行命令,但沒有運氣。我希望按“年”打破這些大文件。有什麼建議麼?
#!/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
) 包含年份,那麼您只需要:awk -F, '{print > FILENAME "-" $1 ".dat"}' *yyyymm.txt