tac
何するコマンド?
書き方
tac [オプション] [対象のファイル(複数指定可)]
オプション
| オプション | 説明 |
|---|---|
| -b | 区切り文字を後ろの単語に含める。例えば「a【区切り文字】b」とあった場合オプション未指定時は「a【区切り文字】」と「b」に分かれるが「-b」指定時は「a」と「【区切り文字】b」に分かれる |
| -r | 区切り文字を正規表現でしている……らしい |
| -s | 逆順にするための区切り文字を指定する |
補足事項
「tac」コマンドの使い方ですが、例えば中身が
1,A,B,C
2,D,E,F
3,G,H,I
の「hoge.txt」があった場合
tac hoge.txt
を実行すると
3,G,H,I
2,D,E,F
1,A,B,C
が表示されます。
上下逆になりました。
「-s」オプションを指定して
tac -s, hoge.txt
を実行すると
I
H,G,F
3,E,D,C
2,B,A,1,
と表示されます。
これはカンマを区切り文字に指定したため
「1,」「A,」「B,」「C(改行)2,」「D,」「E,」「F(改行)3,」「G,」「H,」「I(改行)」
と分割されて並び替えが起こったためです。
「I
」「H,」「G,」「F
3,」「E,」「D,」「C
2,」「B,」「A,」「1,」
になった状態ですね。
さらに、この状態で「-b」オプションを指定して
tac -s, -b hoge.txt
を実行すると
,I
,H,G,F
3,E,D,C
2,B,A1
と表示されます。
これは
「1」「,A」「,B」「,C(改行)2」「,D」「,E」「,F(改行)3」「,G」「,H」「,I(改行)」
と分割されて並び替えが起こったためです。
「,I
」「,H」「,G」「,F
3」「,E」「,D」「,C
2」「,B」「,A」「1」
になった状態ですね。
対象のファイルを指定しないで
tac [オプション]
と打った場合、画面からの入力を待ちます……が、どんな使いどころがあるのかは、よく分かりません。
ちなみに「cat」の逆で「tac」のイメージです。
「cat」コマンド同様ファイルを結合することもできますよ。
例えば
■hoge1.txt
1,A,B,C
2,D,E,F
3,G,H,I
■hoge2.txt
4,J,K,L
5,M,N,O
があって
tac hoge1.txt hoge2.txt
を実行すると、結果は
3,G,H,I
2,D,E,F
1,A,B,C
5,M,N,O
4,J,K,L
に なります。
上下が逆になって合体しました。
