ショコラ
teeコマンドまとめ
「tee」コマンドまとめでキメマス。
もっさん先輩
①grep した結果を保存する。
通常。grep の結果は画面に表示されます。
grep -r mossan
grep の後に「| tee mossan.txt」を付けると、画面に表示され、ファイルにも保存されます。
grep -r mossan | tee mossan.txt
②teeコマンドでファイルと画面に出力する。
通常。echo の出力を out.txtファイルに保存します。
echo 'Hello Answorz!' > out.txt
echo の「>」を「| tee out.xt」に付け替えると、echo の出力を out.txtファイルに保存し、画面にも表示できます。
echo 'Hello Answorz!' | tee out.txt
$ echo 'Hello Answorz!' | tee out.txt
Hello Answorz!
③teeコマンドで複数のファイルに保存する。
通常。echo の出力を out.txtファイルに保存します。
echo 'Hello Answorz!' > out.txt
他のファイルにもコピーしたい場合に「>」を「| tee」を付け替えると、他のファイルにも保存できます。
echo 'Hello Answorz!' | tee out1.txt out2.txt out3.txt
因みに、追記するには「-a」オプションを使います。
echo 'Hello Answorz!' | tee -a out1.txt out2.txt out3.txt
④sudo echo で「許可がありません」になる場合
sudo echo で ファイルに書き込もうとすると「許可がありません」のエラーが表示されてしまう。「echo」は sudo で動作するが、リダイレクトには sudo が効かないのが原因です。
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
-bash: /proc/sys/net/ipv4/ip_forward: 許可がありません
その場合、tee を使って対応することができます。
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward > /dev/null