想要删除包含具有不同列数的特定分隔符的行
CPU Load for sdp4
7c:e5:3b:6e:2e:5f:d9:4d:68:4d:d5:57:3a:cb:4d:45.
02:30PM up 1 day, 9:20, 2 users, load average: 6.88, 5.96, 5.57
在这种情况下,我想用分隔符“:”删除所有内容:
7C:E5:3B:6E:2E:5F:D9:4D:68:4D:D5:57:3A:CB:4D:45
我想删除任何包含该分隔符的内容。
预期观点:
CPU Load for sdp4
02:30PM up 1 day, 9:20, 2 users, load average: 6.88, 5.96, 5.57
答案 0 :(得分:1)
试试这个grep
行:
grep -Pv '^..(:..)+\.$' file
以你的例子:
kent$ echo " CPU Load for sdp4
7c:e5:3b:6e:2e:5f:d9:4d:68:4d:d5:57:3a:cb:4d:45.
02:30PM up 1 day, 9:20, 2 users, load average: 6.88, 5.96, 5.57"|grep -Pv '^..(:..)+\.$'
CPU Load for sdp4
02:30PM up 1 day, 9:20, 2 users, load average: 6.88, 5.96, 5.57
答案 1 :(得分:1)
你可以尝试:
grep -v ":..:" yourfile
这将删除包含由任意两个字符分隔的一对冒号的所有行 - 这似乎不会出现在您想要的行中。