我想根据不同的条件,使用 awk 将不同的行打印到不同的输出文件,比如
awk '{if($2>10) print > outfile1; else print > outfile2}' infile
但是这个脚本不起作用如何修改它?谢谢!>
我想根据不同的条件,使用 awk 将不同的行打印到不同的输出文件,比如
awk '{if($2>10) print > outfile1; else print > outfile2}' infile
但是这个脚本不起作用如何修改它?谢谢!>
您需要用双引号关闭文件名:
awk '{if($2>10) {print > "outfile1"} else {print > "outfile2"}}' infile
尝试这样做:
awk '{if($2>10) print > "outfile1"; else print > "outfile2"}' infile
如果您 ommit "
,您将重定向到(可能不存在的)变量。就我而言,我重定向到文件。
awk '{print > "outfile" ($2>10 ? 1 : 2)}' infile
你可以只复习两次。
cat infile | awk '{if($2>10) print}' > outfile; cat infile | awk '{if($2<=10) print}' > outfile2
用双引号引用您的目标文件名,您就可以开始了。