我有点卡住了..我有一个包含以下数据的文件:
Group: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
POM Lorem ipsum dolor sit amet, consectetur adipiscing elit.
POM Lorem ipsum dolor sit amet, consectetur adipiscing elit. https://www.lorem.org/
Embedded Lorem ipsum dolor sit amet, consectetur adipiscing elit. )
Group: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
POM Lorem ipsum dolor sit amet, consectetur adipiscing elit.
POM Lorem ipsum dolor sit amet, consectetur adipiscing elit. https://Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Embedded Lorem ipsum dolor sit amet, consectetur adipiscing elit. )
我想在每行的开头添加分号,除了以 Group 开头的行
所以我得到这样的最终结果:
Group: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
;POM Lorem ipsum dolor sit amet, consectetur adipiscing elit.
;POM Lorem ipsum dolor sit amet, consectetur adipiscing elit. https://Lorem ipsum dolor sit amet, consectetur adipiscing elit.
;Embedded Lorem ipsum dolor sit amet, consectetur adipiscing elit. )
Group: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
;POM Lorem ipsum dolor sit amet, consectetur adipiscing elit.
;POM Lorem ipsum dolor sit amet, consectetur adipiscing elit.
;Embedded Lorem ipsum dolor sit amet, consectetur adipiscing elit. )
如果模式不匹配,我可以添加执行此操作:
sed '/^Group:/! s/^/;/' index1.txt
但我想忽略空行。
我缺少什么?
答案1
只需增强您的匹配模式以包含空行:
sed '/^Group:\|^$/! s/^/;/' index1.txt
这样空行也将保持不变。
答案2
那这个呢:
sed '/^Group:\|^$/! s/^/;/' file
答案3
使用 Posix sed :
$ sed -e '/^Group:/! s/^./;&/' index.txt