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/stdin
Linuxシステムでこれを使用できます。 (Solarisにもこれがあることを覚えているようですが、今は確認できません。)
(プレフィックス「-」)を使用すると、<<-SED_SCRIPT
閉じるSED_SCRIPT
タグをインデントできます。