「sed」を使用した文書およびファイル

「sed」を使用した文書およびファイル

sedコマンドのhere-docを使用し、読み取るファイルと出力ファイルを提供したいと思います。

私は見たことがないここにファイルAdvanced Bash Scripting Guideにありますが、ここで説明されている一般的なパラメータの使用については言及しません。可能ですか?

私は次の目標を達成したいと思います。

#!/bin/bash
OUT=/tmp/outfile.txt
IN=/my_in_file.txt

sed $IN << SED_SCRIPT
    s/a/1/g
    s/test/full/g

SED_SCRIPT 
> $OUT;

どんな助けでも大変感謝します。

ベストアンサー1

sedを使用して、GNU sedに標準入力からスクリプトを読み取るように指示できます-f --fこれはファイルからスクリプトを読み取ることを意味し、-多くのコマンドで一般的に使用される標準入力を意味します。

sed -f - "$IN" > "$OUT" << SED_SCRIPT
    s/a/1/g
    s/test/full/g
SED_SCRIPT

POSIX sedもサポートされていますが、標準-f入力の使用は-文書化されていません。この場合、/dev/stdinLinuxシステムでこれを使用できます。 (Solarisにもこれがあることを覚えているようですが、今は確認できません。)

(プレフィックス「-」)を使用すると、<<-SED_SCRIPT閉じるSED_SCRIPTタグをインデントできます。

おすすめ記事