3

私は問題があります。ファイルの行を別のファイルの内容に置き換えたいと思います。

私の最初のファイルには次の行があります:"#Content"そして、それを file のコンテンツに置き換えたいと思いますcontent.xml

ありがとう。

4

2 に答える 2

3

これは機能します:

your_new_text=$(cat content.xml | sed 's/[^-A-Za-z0-9_]/\\&/g')
sed -i "s/#Content/$your_new_text/" your_file

からのテキストをcontent.xml変数に入れます$your_new_text。次に、 sed が作業を行います。ファイル内での置換を表し、内のテキストを探して置換し-iます。#Content$your_new_text

動作させるにはラップする必要があることに注意してください"

于 2013-05-01T15:50:26.890 に答える
1

これも機能しますが、あまり効果的ではありませんが、コンテンツに敏感ではありません.

cat <(sed '/#Content/,$d' < FILE ) content.xml <(sed '1,/#Content/d' < FILE) > NEWFILE

だから、カテネート

  • FILE の最初の部分 (#Content - (含まない) まで)
  • ファイル `content.xml
  • ファイルの 2 番目の部分 (から #Content - (含まれていない) まで)
于 2013-05-01T19:19:00.577 に答える