データファイル処理に便利なUNIXコマンド

http://www.e.ics.nara-wu.ac.jp/~nogu/tips/unix_command.html


awk
basename
cat
expand
file
head
join
mpage
paste
sed
tail
wc

変数を使用した文字列置換

sed -e "s/$VAR1/置換後パターン/"

sed -e "s/置換対象パターン/$VAR/"

sed -e "s/$VAR1/$VAR2/"

→ 「$」を打ち消さないようにダブルクォートを使用する。

置換に使用されるパターンの指定には、変数の値を使用することも可能である。
変数は値に展開されてから sed コマンドに渡される必要があるため、
「'」(シングルクォーテーション)で囲んで「$」をエスケープしてはいけない。
変数を使用する場合は下記の例のように「$」を打ち消さない「"」(ダブルクォーテーション)を使用する。

$ VAR="hoge"
※↑変数 VAR に "hoge" を設定する。

$ echo "hoge fuga \$VAR" | sed -e "s/$VAR/foo/"
foo fuga $VAR

$ echo "hoge fuga \$VAR" | sed -e "s/fuga/$VAR/"
hoge hoge $VAR
※↑変数 VAR の値 "hoge" が置換パターンに使用される。

$ echo "hoge fuga \$VAR" | sed -e 's/$VAR/foo/'
hoge fuga foo
※↑シングルクォートだと変数の値ではなく、文字列 "$VAR" として置換される。