リダイレクト

ドキュメント:

Redirections | Bash Reference Manual

使い方

標準出力をファイルに出力する。

$ echo "hello" > hello.txt

標準エラー出力を標準出力に合流する。(ファイルディスクリプタが複製される。)

$ type hoge 2>&1

標準出力と標準エラー出力をまとめて捨てる。

$ type hoge > /dev/null 2>&1

標準出力をログファイルに出力し、標準エラーを標準出力に出力する。

$ type hoge 2>&1 > log.txt
$ type read 2>&1 > log.txt

エラー出力を標準出力とログファイルに出力し、元の標準出力は捨てる。

$ type hoge 2> >( tee -a log.txt ) > /dev/null
$ type read 2> >( tee -a log.txt ) > /dev/null

参考:

Bash の入出力リダイレクトまとめ – Qiita

標準出力、標準エラー出力をファイル、画面それぞれに出力する方法 – Qiita

Bash のリダイレクトの話 – Qiita

シェルの入出力制御あれこれ – Qiita

リダイレクションの「>」「 >>」とパイプ「 | 」の違い – Qiita

リダイレクト | UNIX/Linux の部屋

覚えてると案外便利な Bash のリダイレクト/パイプの使い方 9個 | 俺的備忘録

5分で一通り理解できる! Linux のリダイレクト 使い方と種類まとめ | エンジニアの入り口

リダイレクトについての色々 | server-memo.net

実用的なシェルスクリプト | 柳川研究室

一括リダイレクト

参考:

Bash で標準出力と標準エラー出力の一括リダイレクト – Qiita

標準出力も標準エラーもログに出力 – Qiita

2>&1 はどういう意味? – teratail

分岐 (tee)

参考:

tee – Redirect Output to Multiple Files or Processes | GNU Coreutils

How to redirect output to a file and stdout – Stack Overflow

How to duplicate STDOUT? – Unix & Linux Stack Exchange

Redirect copy of stdout and stderr to one file, copy of just stderr to another file from within bash script – Stack Overflow

接続の順序

参考:

Bash のリダイレクトとパイプとファイルディスクリプタ | うしねずみの技術メモ

リダイレクトによる上書きを禁止する

参考:

シェルスクリプトでリダイレクトによる上書き防止 – Qiita

通常はあまり使わないリダイレクト

  • >|set -C が指定されていても既存のファイルに上書きをする。
  • <>読み書き可能なファイルディスクリプタをオープンする。

参考:

あなたの知らない >| と <> の使い方 | @IT

stdout / stderr

リダイレクト先として /dev/* を使用することができる。

  • /dev/stdout標準出力
  • /dev/stderr標準エラー出力

su コマンドで実行ユーザーを切り替えるとパーミッションエラーになる。

参考:

シェルスクリプト内で /dev/stderr にリダイレクトしてはいけない – Qiita

/dev/stderr (/dev/std{in,out}も) は使うべきではない – Qiita

redirect to /dev/stdout: Not a directory – Stack Overflow

ファイルの内容を逆順に出力する

  • cat を逆順に行う tac コマンドを使用する。
使用例

テキストファイルの内容を最終行から逆順に出力する。

$ tac input.txt

参考:

tac コマンド | hydrocul のメモ

tac コマンド – シェルスクリプトでファイルや標準出力を最終行から逆順に出力する | ゲンゾウ用ポストイット

ファイルや標準入力の内容を逆順にする方法 | 薫のHack

tac コマンド – ファイルの内容を逆順で表示 | Linuxコマンド.NET

tac – ファイルを逆順に標準出力へ出力する | 日経クロステック

tac コマンド/rev コマンド – ファイルを逆順に出力する | @IT

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA