1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

シェルスクリプト&PowerShellAdvent Calendar 2024

Day 17

シェルスクリプトでテンプレート・ファイルを扱う的な話

Posted at

まあ、よくある話ですが、一部だけ異なるファイル(設定ファイルとか、、)を作るときに、テンプレートを用意して、変動する部分のみ変数で動的に変えたい、という話がありますよね。

テンプレートファイル名を変数INPUT, 置換後のファイル名を変数OUTPUTとすると、こんな感じでファイルの中身の変数部分を動的に置換できます。

test.sh
sh -c "cat <<EOF > $OUTPUT
`cat $INPUT`
EOF
"

たとえば、

template.txt
VAR1: $VAR1
   VAR2:  $VAR2  $VAR2

みたいなファイルを用意したとすると、

$ VAR1=aaa
$ VAR2=bbb
$ INPUT=template.txt
$ OUTPUT=output.txt
$ export INPUT OUTPUT VAR1 VAR2
$ sh test.sh
$ cat output.txt
VAR1: aaa
   VAR2: bbb  bbb

変数が置換されます。
何かの参考にどうぞ。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?