我想使用以下命令使用linux sed替換文件的第二行。無法使用linux sed在文件的特定行插入文本
sed -i"" '2d' /usr/local/services/status.sh
sed -i '2i\testing' /usr/local/services/status.sh
在我的命令中是否有錯誤?我找不到。 有沒有其他方法可以做到這一點?
任何形式的幫助表示讚賞。
我想使用以下命令使用linux sed替換文件的第二行。無法使用linux sed在文件的特定行插入文本
sed -i"" '2d' /usr/local/services/status.sh
sed -i '2i\testing' /usr/local/services/status.sh
在我的命令中是否有錯誤?我找不到。 有沒有其他方法可以做到這一點?
任何形式的幫助表示讚賞。
要更換2號線:
$ cat file
AIX
Unix
Linux
$ sed -i '2s/.*/testing/' file
$ cat file
AIX
testing
Linux
到第2行前插入:
$ sed -i '2i testing' file
要使用一個變量作爲託換的一部分:
$ PID=2456
$ sed -i "2s/.*/testing $PID/" file
這可能會爲工作你:
sed -i '2c\testing' file
這很容易。謝謝 :) –
感謝一噸。 你能告訴我如何連接兩個字符串在/.*/____/之間嗎? 例如:我需要保存PID和文本。 –
例如:我需要保存PID和文本一樣。像這樣的東西 - sed -i'2s /.*/ ps -p $! >/dev/null 2>&1 && echo 1 running ||回聲1沒有運行' 請糾正我。 –
請參閱更新..首先將PID存儲在單獨的變量中,然後在sed命令中使用該變量。 – Guru