您好我想从csv中删除包含字符串vol
后跟2个或更多数字的行。
示例数据:
2454564, Stage Mechanics vol 4 8 9, 121545, 454545454
24545454, Dancing on ice vol 5, 454554, 45454545
5454545, Who is the man, 545456454, 4545454
8785648654, year of the Panda vol 89 12, 545454, 545454
期望的输出:
24545454, Dancing on ice vol 5, 454554, 45454545
5454545, Who is the man, 545456454, 4545454
我知道我可以使用:
cat $csv1 | grep -vi "vol" > $newcsv
但显然这只会删除带有“vol”的行 - 如何将后面跟着2个或更多数字的规则合并到此代码中?
由于
答案 0 :(得分:3)
你可以使用这个grep:
grep -Ev '\bvol([[:blank:]]+[[:digit:]]+){2}' file
24545454, Dancing on ice vol 5, 454554, 45454545
5454545, Who is the man, 545456454, 4545454
模式([[:blank:]]+[[:digit:]]+){2}
将匹配vol
之后由空格/制表符分隔的至少2个数字。