就像这样。
之前:
1
19:22
abcde
2
19:23
3
19:24
abbff
4
19:25
abbc
之后:
1
19:22
abcde
3
19:24
abbff
4
19:25
abbc
我想删除没有字母表的部分,如第 2 部分。
我认为我应该使用 perl 或 sed。但我不知道该怎么做。
我试过这样。但是没用。
sed 's/[0-9]\n[0-9]\n%s\n//'
最佳答案
sed 用于在单独的行上执行 s/old/new/,仅此而已。对于其他任何你应该使用 awk 的东西:
$ awk -v RS= -v ORS='\n\n' '/[[:alpha:]]/' file
1
19:22
abcde
3
19:24
abbff
4
19:25
abbc
上面就是这样简单的:
RS=
告诉 awk 输入记录由空行分隔。ORS='\n\n'
告诉 awk 输出记录也必须用空行分隔。/[[:alpha:]]/
搜索并打印包含字母字符的记录。
关于linux - 我想在 linux 上删除多行文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51359229/