我要插入的行使用SED插入一個雙反斜線
text \\
到一個文件通過sed的。要插入一個反斜槓,我會在命令中使用三個反斜槓。但是逃避不會爲兩個反斜槓工作:
sed -i 'text \\\\\\' $file
提供了以下錯誤:
sed: -e expression #1, char 57: unknown command: `
'
我要插入的行使用SED插入一個雙反斜線
text \\
到一個文件通過sed的。要插入一個反斜槓,我會在命令中使用三個反斜槓。但是逃避不會爲兩個反斜槓工作:
sed -i 'text \\\\\\' $file
提供了以下錯誤:
sed: -e expression #1, char 57: unknown command: `
'
做這樣的事情:
sed -i 's/OLDTEXT/text \\\\/' $file
你需要4個反斜槓嘗試添加2時3爲1,4等2等:)
輸入f ILE是這樣的:
apple
orange
grape
您可以在orange
面前這樣插入text \\
:
sed -i 's/^orange/text \\\\\n&/' input.txt
這是什麼字面上的確是匹配開始orange
線,與text \\
+換行符替換匹配的字符串+匹配的字符串,有效插入text \\
就在該行的前面,即:
apple
text \\
orange
grape
請注意,需要4個反斜槓才能插入2。我不知道你的意思是3個反斜槓,你必須忽略那裏的某些東西。
這可能爲你工作(GNU SED):
sed -i '/PATTERN/i\text \\\\' file
這將覆蓋原來的file
和包含字PATTERN
線(S)前插入text \\
。
'char 57:unknown command:'?你正在使用的命令的其餘部分在哪裏?爲什麼你認爲文本會對文件有任何影響,在你顯示的內容中沒有sed命令來插入,追加,替換(或刪除)?祝你好運。 – shellter
你的例子表明你想要echo \\\\>文件。 – devnull