gpt4 book ai didi

linux - 我想在 linux 上删除多行文本

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:44:52 24 4
gpt4 key购买 nike

就像这样。
之前:

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com