我想根据第一列的数字(1到30)过滤文件,并为与过滤参数对应的行保存一个文件。因此,最后应创建30个文件。我试图使用shell和awk使用for循环,但它无法正常工作。
for (( K=1; K <= 30; K++ )); do awk '{if($1==$K) print $0}' example_file.map > example_file_CHR${K}.map; done
答案 0 :(得分:1)
你需要的是这样......
awk '1<=$1 && $1<=30 {print > "file_"$1}' file
不需要bash循环。