从AWK命令行保存多个文件



我想根据第一列的数字(1最高30(过滤一个文件,并将一个文件保存给对应于过滤参数的行。因此,最后,应创建30个文件。我正在尝试使用shell and Awk使用for循环来执行此操作,但它行不通。

for (( K=1; K <= 30; K++ )); do awk '{if($1==$K) print $0}' example_file.map > example_file_CHR${K}.map; done

您需要的就是这样...

awk '1<=$1 && $1<=30 {print > "file_"$1}' file

不需要bash循环。

最新更新