【 tac 】コマンド/【 rev 】コマンド――ファイルを逆順に出力するLinux基本コマンドTips(111)

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、ファイルを逆順に出力する「tac」コマンドと「rev」コマンドです。

» 2017年05月19日 05時00分 公開
[西村めぐみ@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、ファイルを逆順に出力する「tac」コマンドと「rev」コマンドです。

tacコマンド/revコマンドとは?

 「tac」はファイルの最終行から、行単位に逆順に出力するコマンドです。「rev」はファイルの各行を、末尾から行頭に向かって反転させて出力します。



tacコマンドの書式

tac [オプション] ファイル名

revコマンドの書式

rev ファイル名

※[ ]は省略可能な引数を示しています





tacコマンドの主なオプション

 tacコマンドのオプション次の通りです。revコマンドにはオプションはありません。

短いオプション 長いオプション 意味
-s 文字列 --separator=文字列 区切りに使う文字列を指定する(デフォルトは改行)
-r --regex 区切り文字列を正規表現として解釈する
-b --before 区切り文字列をレコード後ではなく前に付ける


ファイルを最終行から逆順に出力する

 「tac ファイル名」で、指定したファイルを最終行から逆順に出力します(画面1)。

コマンド実行例

tac ファイル名

(ファイルを最終行から逆順に出力する)(画面1


画面1 画面1 fs.csvの内容を確認(上段)、f1.csvを逆順に出力(下段)


複数のファイルを逆順に出力する

 複数のファイルを指定した場合、それぞれのファイルを逆順に出力します(画面2)。全体を逆順にしたい場合はcatで出力した上で、tacで逆順にします。

コマンド実行例

tac ファイル1 ファイル2

(それぞれのファイルを逆順に出力する)(画面2

cat ファイル1 ファイル2 | tac

(ファイルを連結し、連結したファイルを逆順に出力する)


画面2 画面2 f1.csvとf2.csvを出力(上段)、f1.csvとf2.csvをそれぞれ逆順に出力(中段)、f1.csvとf2.csvを連結して逆順に出力(下段)


ファイルの各行を反転させる

 「rev ファイル名」で、ファイルの各行を反転させて出力します(画面3)。ファイルを末尾から先頭に向かって逆順にしたい場合は、tacコマンドと組み合わせて「tac ファイル名 | rev」のようにします。

コマンド実行例

rev ファイル名

(ファイルの各行を逆順に出力する)(画面3

tac ファイル名 | rev

(ファイル全体を末尾から先頭に向かって出力する)


画面3 画面3 f2.csvを出力(上段)、f2.csvの各行を反転させて出力(中段)、f2.csv全体を逆順に出力(下段)


キーボードから入力した内容を反転させる

 キーボードで文字列を入力し、それを逆から表示したい場合はechoコマンドと組み合わせて「echo "文字列" | rev」のようにします(画面4)。

コマンド実行例

echo "文字列" | rev

(文字列を逆から表示する)(画面4


画面4 画面4 入力した文字が逆順に表示されたところ


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー(LinuxはPC-486DXから)。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、ライターとして活動。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。