文件名staff.txt和示例内容为:
JHON
MANAGER
10000
Run Code Online (Sandbox Code Playgroud)
我想JHON在一个文件中查找,我想用另一个单词/数字更改第二行中的任何内容。
我怎样才能做到这一点?
ed -s staff.txt <<< $'/JHON/+2s/.*/4242\nw\nq'
Run Code Online (Sandbox Code Playgroud)
这会以脚本模式 ( -s)调用文件的 edstaff.txt并以 ANSI 引用的 here-string 向其发送以下命令:
JHON并在该行之外移动两行 ( +2).*) 为4242w将文件写入磁盘q适合中间体\n将各种ed命令分开。
或者,您可以使用以下c命令更改行:
ed -s staff.txt <<< $'/JHON/+2c\n4242\n.\nw\nq'
Run Code Online (Sandbox Code Playgroud)
此处,替换文本需要单独(在c命令之后)输入,并以句点 ( \.\n) 结束。