以下是我的CSV文件的几行示例:
movieID,actorID,actorName,ranking
1,don_rickles,Don Rickles,3
1,jack_angel,Jack Angel,6
1,jim_varney,Jim Varney,4
1,tim_allen,Tim Allen,2
1,tom_hanks,Tom Hanks,1
1,wallace_shawn,Wallace Shawn,5
我想删除所有排名为>的行4,到目前为止我一直在尝试使用这个awk系列:
awk -F ',' 'BEGIN {OFS=","} { if (($4) < 5) print }' file.csv > file_out.csv
它应该将排名(第4列)小于5的所有行打印到新文件中。我不知道这条线究竟是做什么的,但这不是我想要的。有人能告诉我那条线路出了什么问题吗?
答案 0 :(得分:1)
不要删除记录,而应考虑您要打印哪些记录。我猜是<=4
。在惯用语awk
中,您可以将其写为
$ awk -F, '$4<=4' file
1,don_rickles,Don Rickles,3
1,jim_varney,Jim Varney,4
1,tim_allen,Tim Allen,2
1,tom_hanks,Tom Hanks,1