概要
catコマンドからリダイレクトでファイルに書き込む方法を簡単にまとめます。
ファイルの後ろに追記もできるので、覚えておくと便利かもしれません。
ファイルの上書きその1
catコマンドを引数なしで実行し、書き込みたい内容を標準入力,その出力結果をfileにリダイレクトします。
(Ctrl + dでEOFを入力し標準入力を終了させる)
$ cat > file
hoge
fuga
$ cat file
hoge
fuga
ファイルの上書きその2
ヒアドキュメントを利用して書き込みます。
$ cat <<EOF > file
heredoc> hoge
heredoc> fuge
heredoc> EOF
$ cat file
hoge
fuge
<<
の後ろに識別子を定義して、その識別子が入力されるまでの標準入力をfileに出力します。
識別子はなんでもよいですが、EOF(end of file)やEOS(end of string)を使用するのが一般的なようです。
ファイルの追記
リダイレクトを>
ではなく>>
で行うとファイルの後ろに追記ができます。先ほど作成したfileに追記していきます。
$ cat >> file
hogehoge
fugafuga
$ cat file
hoge
fuge
hogehoge
fugafuga
ヒアドキュメントを使って追記もできます。
$ cat <<EOF >> file
heredoc> piyopiyo
heredoc> EOF
$ cat file
hoge
fuge
hogehoge
fugafuga
piyopiyo
まとめ
コードレビュー時に上記の方法でファイルに書き込みをしていた方がいて、気になったので調べました。
ファイルの後ろにちょっとした追記をするなら、エディターを立ち上げて編集するよりもcatコマンドを使用する方が早いかもしれませんね。