gpt4 book ai didi

shell - 如何用每个只有 1 个空行替换许多中间空行

转载 作者:行者123 更新时间:2023-12-01 09:51:46 25 4
gpt4 key购买 nike

我正在学习使用 sed 并且有一个假设需求:

bash$ cat states
California


Massachusetts


Arizona

Wisconsin

我想要输出:(基本上我只想要中间的一个空行)

California

Massachusetts

Arizona

Wisconsin

请建议使用 sed 的方法。是否应该使用多行模式空间等概念?

谢谢,

猎豹


作为对其中一条评论的回应,好的,我运行了一些测试脚本,我错误地假设地址空间选择标准只应用一次。它似乎一次又一次地被激活。

bash$ cat file 
a
b
c
a
b
c

bash$ sed -e '/a/,/b/s/$/x/g' file
ax
bx
c
ax
bx
c

我的印象是它会产生:

ax 
bx
c
a
b
c

有人可以解释 sed 在逗号分隔地址空间的情况下如何进行。

最佳答案

试试这个,它会删除所有连续的空行

cat states | sed '/./,/^$/!d'

输出:

California

Massachusetts

Arizona

Wisconsin

关于shell - 如何用每个只有 1 个空行替换许多中间空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3270618/

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