如何在linux中的文件中插入一行

时间:2017-09-05 09:20:13

标签: linux sed

我需要在file.txt中的第3行插入一行。为此我使用sed。我需要在文件中插入以下文字:

Location=\home\user\Files\myfile.txt

要插入上面一行,我正在做:

sudo sed -i '3iLocation=\home\user\Files\myfile.txt' file.txt

此命令正在运行,但插入的文本为:

Location=homeuserFilesmyfile.txt

为什么会这样。我怎样才能加入\

由于

2 个答案:

答案 0 :(得分:2)

你需要使用反斜杠\来解释它。

要附加没有换行符的行:

sed -i '3 s/$/Location=\\home\\user\\Files\\myfile.txt/' file.txt
  • $ - 正则表达式锚点,指向字符串的结尾

在 第3行之前插入特定行

sed -i '3iLocation=\\home\\user\\Files\\myfile.txt/' file.txt

答案 1 :(得分:1)

使用转义字符'\'。

sed -i'3iLocation = \ home \ user \ Files \ roamingfile.txt'file.txt