[英]awk replace string with newline
I have never used awk or sed. 我从未使用过awk或sed。 I am trying to replace
我正在尝试更换
aaa
{
with 与
aaa
{
bbb
I tried different solutions using sed/awk, but couldn't figure it out. 我使用sed / awk尝试了不同的解决方案,但无法解决。
awk '{gsub("aaa\n{", "aaa\n{\tbbb")}1' file.txt
Could you please help me on how to do it. 你能帮我怎么做吗。
With awk
: 用
awk
:
awk '{print} /^aaa$/{i=NR} /^{$/ && NR==i+1 {print "\tbbb"}' File
Output: 输出:
aaa
{
bbb
sdjdhsjdhdsd
ds
ddsdsdsd
aaa
{
bbb
这可能对您有用(GNU sed):
sed '/^aaa$/!b;n;/^{$/a\\tbbb' file
与getline awk
awk '/aaa/ {print;getline} /{/ { print ;print "\tbbb";next}1 ' file
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.