このサイトの表示中にいくつかの問題が原因です。私は "<"の代わりに "{"を使用します。
これは私のsedコマンドです。
sed 's/{head/*backbutton_and_scroller_script.txt*{head/' report.usc20.txt
「report.usc20.txt」ファイルのheadタグの前に、「backbutton_and_scroller_script.txt」内のテキスト情報を挿入したいと思います。 sedコマンドでbackbutton_and_scroller_script.txtファイルを正しく指す方法は?私の現在のコードはファイル名を表示します戻るボタン_and_scroller_script.txtbackbutton_and_scroller_script.txt のテキストではなく report.usc20.txt の head タグの前。
答え1
sed
まず、これがどのように機能するかについていくつかの誤解があるようです。sed
「スキーマのこの部分へのファイルのリダイレクト」演算子はありません。リダイレクトできる場合は、パターンがめちゃくちゃにならないように、入力テキストから特殊文字をエスケープする必要があります(ここにはドットやスラッシュなどの文字が含まれるため、一般的な文字ではありません)。そして調整-i
オプションファイルを使用する必要がありますsed
。
これはあなたが聞きたいものではないかもしれませんが、それはsed
間違ったツールです。あなたができる最も良いことは、ツールやライブラリを得ることです。明らかこのタイプのマークアップ(例:XSLTまたはPython / Java / Rubyライブラリ)
完全にカスタマイズされた言語を使用している場合は、ひどいハッキングを使用して最初に表示されるまでファイルを読み取ることができます{head
。
file="$(<report.usc20.txt)"
start="${file%%\{head*}"
、ファイルの残りの部分を取得するには、次のようにします。
end="${file#*\{head}"
最後に、すべての作品を1つにまとめます。
printf '%s%s{head%s' "$start" "$(<backbutton_and_scroller_script.txt)" "$end" > report.usc20.txt
これはテストされておらず、恐ろしいので、適切なプログラミング言語を使用することをお勧めします。