数百行のスクリプトがあり、検索と置換コマンドが機能し、複数の場所から削除されます。
置き換えるテキストは別のファイルにあり、検索と置換は完全に機能しますが、残念ながら、ブロックテキストの最初のインスタンスだけを置き換えたいと思います。
ORIGINAL_FILE TEXT_FILE NEW_FILE
RECOMMENDEDとSTATICの間のすべてのテキストをTEXT_FILEの内容に置き換えます。
sed -n -e "1,/RECOMMENDED/ p" -e "/STATIC/,$ p" -e "/RECOMMENDED/ r $TEXT_FILE" $ORIGINAL_FILE >$NEW_FILE
私が言ったように、これはうまくいきますが、RECOMMENDEDとSTATICを使用できる場所はいくつかあり、最初のインスタンスだけを変更したいと思います。
どんな助けでも大変感謝します。
ベストアンサー1
これにより:
sed -n -e '1,/RECOMMENDED/ p' \
-e '/STATIC/,$ {p;d;}' \
-e "/RECOMMENDED/ r $TEXT_FILE" < "$ORIGINAL_FILE" > "$NEW_FILE"
その後、行の一致後に一致は/RECOMMENDED/
ありません。/STATIC/
D印刷して削除してください。