假设我有一个包含以下内容的文件:
[abc]
123
456
[def]
789
012
我想在每次在方括号内找到一个字符串时插入一个新行(这里是[abc],[def]),添加的新行是这样的:
foo=found_content,
其中found_content是方括号内的内容。因此,在运行命令后,文件的内容应如下所示:
[abc]
foo=abc
123
456
[def]
foo=def
789
012
我们如何实现这一目标?谢谢!
答案 0 :(得分:-1)
这个单行应该帮你一把:
awk -F'[][]' '7;NF==3{print "foo="$2}' file
我的想法是,将[ or ]
设置为FS
,[...]
行,在其下方添加新行foo=field2
。