2017-09-05 20 views
1

行番号3の行をfile.txtに挿入する必要があります。このため私はsedを使用しています。私は、ファイル内のテキストの下に挿入する必要があります:線の上に挿入するにはlinuxのファイルに行を挿入する方法

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

、私がやっている:

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

をこのコマンドが実行されているが、テキストが挿入されます。

Location=homeuserFilesmyfile.txt

なぜこれが起こっているのですか?どうすれば\も含めることができます。あなたは文字通り、それを解釈するためにバックスラッシュ\をエスケープする必要が

おかげ

答えて

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

エスケープ文字「\」を使用します。

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

+0

問題が発生しています。私は '/ \ home/\ rony \'を挿入しています。挿入されたときは、 '\ home \^Mahul \ file.txt'と表示されます。これは' rony'のために次の行要素として '\ r'を考えているからです。これを行う方法。? –

関連する問題