使用sed插入双反斜杠

使用sed插入双反斜杠,sed,escaping,backslash,Sed,Escaping,Backslash,我想插一行 text \\ 通过sed导入文件。要插入一个反斜杠,我将在命令中使用三个反斜杠。但转义对两个反斜杠不起作用: sed -i 'text \\\\\\' $file 给出以下错误: sed: -e expression #1, char 57: unknown command: ` ' 做一些类似于: sed-i的/OLDTEXT/text\\\\/'$文件 尝试添加2时需要4个反斜杠。3代表1,4代表2等:)做如下操作: sed-i的/OLDTEXT/text\\\\/

我想插一行

text \\
通过sed导入文件。要插入一个反斜杠,我将在命令中使用三个反斜杠。但转义对两个反斜杠不起作用:

sed -i 'text \\\\\\' $file
给出以下错误:

sed: -e expression #1, char 57: unknown command: `
'
做一些类似于:


sed-i的/OLDTEXT/text\\\\/'$文件

尝试添加2时需要4个反斜杠。3代表1,4代表2等:)

做如下操作:


sed-i的/OLDTEXT/text\\\\/'$文件


尝试添加2时需要4个反斜杠。3代表1,4代表2等:)

输入文件如下:

apple
orange
grape
sed -i 's/^orange/text \\\\\n&/' input.txt
您可以将
text\\
插入到
orange
前面,如下所示:

apple
orange
grape
sed -i 's/^orange/text \\\\\n&/' input.txt
这实际上是匹配以
orange
开头的行,将匹配的字符串替换为
text\\\
+换行符+匹配的字符串,有效地将
text\\
插入行的正前方,即:

apple
text \\
orange
grape

请注意,需要4个反斜杠才能插入2个。我不知道你指的是1的3个反斜杠,你一定忽略了一些东西。

输入文件如下:

apple
orange
grape
sed -i 's/^orange/text \\\\\n&/' input.txt
您可以将
text\\
插入到
orange
前面,如下所示:

apple
orange
grape
sed -i 's/^orange/text \\\\\n&/' input.txt
这实际上是匹配以
orange
开头的行,将匹配的字符串替换为
text\\\
+换行符+匹配的字符串,有效地将
text\\
插入行的正前方,即:

apple
text \\
orange
grape
请注意,需要4个反斜杠才能插入2个。我不知道你指的是1的3个反斜杠,你一定忽略了一些东西。

这可能对你有用(GNU-sed):

这将覆盖原始的
文件
,并在包含单词
模式
的行之前插入
文本\\
,这可能适用于您(GNU-sed):


这将覆盖原始的
文件
,并在包含单词
模式
的行之前插入
文本\\

字符57:未知命令:
?您正在使用的命令的其余部分在哪里?为什么你认为
“text”
会对文件产生任何影响,在你显示的内容中没有sed命令“插入、附加、替换(或删除)”呢?祝您好运。您的示例表明您希望使用echo\\\\\>文件。
char 57:unknown命令:
?您正在使用的命令的其余部分在哪里?为什么你认为
“text”
会对文件产生任何影响,在你显示的内容中没有sed命令“插入、附加、替换(或删除)”呢?祝您好运。您的示例表明您需要echo\\\\\>文件。在您的示例中,
input.txte
开关创建了一个备份文件,在输入文件名后面附加字母
e
-i
需要一个空间进行就地修改。至少对于GNU版本。另外,因为
-e
不是强制性的,所以它不会出现问题。
-ie
开关创建一个备份文件,将字母
e
附加到输入文件名,在您的示例中是
input.txte
-i
需要一个空间进行就地修改。至少对于GNU版本。另外,因为
-e
不是强制性的,所以它不会抱怨。