perl – 如果特定列包含零,如何删除整行?
发布时间:2020-12-15 23:31:11 所属栏目:大数据 来源:网络整理
导读:我需要删除包含的行 第5列中的0值. 之前: 1QWO 10 5 45 100 7.51R0R 6 3 15 100 8.51R5M 4 0 6 0 6.51R8S 4 0 6 0 61R9L 2 1 1 100 6.31RG8 6 0 15 0 5.81RJU 10 0 45 0 7.21RKI 12 6 66 100 4.6 后: 1QWO 10 5 45 100 7.51R0R 6 3 15 100 8.51R9L 2 1 1 1
我需要删除包含的行
第5列中的0值. 之前: 1QWO 10 5 45 100 7.5 1R0R 6 3 15 100 8.5 1R5M 4 0 6 0 6.5 1R8S 4 0 6 0 6 1R9L 2 1 1 100 6.3 1RG8 6 0 15 0 5.8 1RJU 10 0 45 0 7.2 1RKI 12 6 66 100 4.6 后: 1QWO 10 5 45 100 7.5 1R0R 6 3 15 100 8.5 1R9L 2 1 1 100 6.3 1RKI 12 6 66 100 4.6 任何一个班轮都会非常有帮助. 我知道: sed '/0/d' file_name 但是上面的命令将从所有列中删除0. 解决方法
使用便携式sed,您可以这样做:
sed '/([^ ]+ +){4}0+ /d' 这样您就可以将检查限制为零到第五列. 使用perl,您可以使用自动拆分,注意您不需要为$F [4]指定条件,因为它是隐式的: perl -ane 'print if $F[4]' 两种情况下的输出: 1QWO 10 5 45 100 7.5 1R0R 6 3 15 100 8.5 1R9L 2 1 1 100 6.3 1RKI 12 6 66 100 4.6 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |