我想用 sed 1 完成以下操作。找到第一次出现的 [sometext]完全匹配
2.然后从那里开始搜索 stuID = 10 完全匹配
3.然后在 [sometext] 下为第一次出现的 stuID 添加行 checkID = 4
注意:checkID 的值将根据 [sometext] 改变,这就是为什么我需要为第一次出现附加行
我的尝试
sed '/[sometext]/{ s/stuID = 10/a\checkID = 4/1 }' file.txt
sed 's/[sometext]/{ s/stuID = 10/a\checkID = 4/1 }' file.txt
sed '/[sometext]/{ s/stuID = 10/a\checkID = 4/g }' file.txt
{只是看看如果我没有指定添加新行的次数,命令是否有效。
我添加了 \ ] 来逃避 []
结果
1.命令被执行,但 checkID=4 未添加到 file.txt 中的任何位置
2.Error : sed: -e expression #1, char 18: multiple g' options to
s' command 暗示语法本身是错误的
3.命令被执行,但 checkID=4 未添加到 file.txt 中的任何位置
当我说执行时,我的意思是没有错误消息
文件.txt
[sometext]
blah blah blah
blah blah blah
stuID = 10
blah blah blah
blah blah blah
[Anothertext]
blah blah blah
blah blah blah
stuID = 5
blah blah blah
blah blah blah
我希望它是 File.txt
[sometext]
blah blah blah
blah blah blah
stuID = 10
checkID=4
blah blah blah
blah blah blah
[Anothertext]
blah blah blah
blah blah blah
stuID = 5
checkID=6
blah blah blah
blah blah blah
在这一点上我完全累了,一无所知。希望有人能帮助我
问候