[英]replace a line with bash script
我正在嘗試替換文件的一行。 我用了
line=" abc"
sed -i "3c ${line}" test.txt
它可以工作,但是第一個空間沒有顯示。 我希望test.txt中的第3行是
abc
而不是
abc
注意abc
前面有一個空格。 感謝您的任何建議!
line="\ abc"
sed -i "3c\
$line" test.txt
逃脫空間將使其不被修剪。
sed替換命令的語法為's/match/replacement/'
。 為了找到並替換它,您需要執行以下操作:
line=" abc"
sed -i "s/^abc$/$line/" test.txt
字符^
和$
分別是該行開頭和結尾的正則表達式元字符。 因此, ^abc$
將僅匹配完全包含該模式的行,然后將其替換為abc
並帶有空格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.