シェル①リダイレクト

シェル関係で触ったことを

調べてもなかなか出なかったリダイレクトについて書きます。 リダイレクトは<(小なり),>(大なり)と書きコマンド入力の出力先や入力元を変更できます。

echo "hogehoge" > hoge.txt

これはechoで本来表示されるhogehogeをhoge.txt内に書く(出力)動きをします。

逆に入力は

test.txt

b
c
a
d
e

こういうテキストファイルがあった時に

sort < test.txt

a
b
c
d
e

という風にtest.txtのデータを読む(入力)してsortを行います

もちろん組み合わせることも可能で、

sort < test.txt > sorted.txt

とやるとsortされたものがsorted.txtに出力されます。

これがリダイレクトです。

また>> << というものもあって >> は出力先の末尾に追記(出力先のファイルがない場合は新規で作成される)、 <<はEOFで始まってEOFで終わるまでの情報を入力できる

sort << EOF
b
c
d
e
a

EOF

a
b
c
d
e

という感じ