Jo *_*erd 5 linux script bash sed
当我想要的状态存在时,我想更改文件中的单元格。例子:
文件:
id311 vmName1 state0
id312 vmName2 state0
id313 vmName3 state0
Run Code Online (Sandbox Code Playgroud)
我将键入一个脚本,该脚本仅更改一行的状态列。所以如果我输入sed -i 's/state0/state1/g'all state0's be state1。我只想更改一行的状态,例如:
文件:
id311 vmName1 state0
id312 vmName2 state1
id313 vmName3 state0
Run Code Online (Sandbox Code Playgroud)
如何将sed命令用于带有 use id 的特殊行?注意:id 是唯一的。
只需在之前添加行号:sed '<line number>s/<search pattern>/<replacement string>/。
$ sed '1s/state0/XXXX/' file
id311 vmName1 XXXX
id312 vmName2 state0
id313 vmName3 state0
Run Code Online (Sandbox Code Playgroud)
由于您想就地编辑,请说:
sed -i.bak '1s/state0/XXXX/' file
Run Code Online (Sandbox Code Playgroud)
注意我.bak在-i标志之后使用。这将file自行执行更改,但也会创建一个file.bak包含file更改前当前内容的备份文件。
对于可变行号,通常使用变量,以及双引号来扩展它:
sed -i.bak "${lineNumber}s/state0/XXXX/" file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10099 次 |
| 最近记录: |