我有一个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
假设文件全部以逗号分隔,并且第一个字段 ( $1
) 包含年份,那么您需要的是:
awk -F, '{print > FILENAME "-" $1 ".dat"}' *yyyymm.txt