Linux命令:逆序输出 tac 与 rev

tac 和 rev 命令都是将文件逆序输出的命令:

tac : 从最后一行开始,以整行为单位逆序输出 (行内内容不变,行顺序颠倒)

rev : 对文件的各个行的文字,逐一逆序输出 (行内内容倒序,行顺序不变)

tac 示例如下:

$ cat test.txt 
a 1
b 2
c 3
d 4
e 5
f 6
g 7
h 8
i 9
j 10

$ tac test.txt 
j 10
i 9
h 8
g 7
f 6
e 5
d 4
c 3
b 2
a 1


类似cat,tac也可以建多个文件逆序输出的结果拼接

cat test2.txt 
abc 123
bcd 234
cde 345

tac test.txt test2.txt 
j 10
i 9
h 8
g 7
f 6
e 5
d 4
c 3
b 2
a 1
cde 345
bcd 234
abc 123

rev的示例如下

$ rev test.txt
1 a
2 b
3 c
4 d
5 e
6 f
7 g
8 h
9 i
01 j

当然可以将tac与rev结合管道使用,完成倒背如流式输出

tac test.txt |rev
01 j
9 i
8 h
7 g
6 f
5 e
4 d
3 c
2 b
1 a

附录:tac 的选项

-s 	--separator=分隔符(默认为换行)
-r	--regex	使用正则表达式匹配分隔符

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

您正在使用您的 WordPress.com 账号评论。 注销 /  更改 )

Twitter picture

您正在使用您的 Twitter 账号评论。 注销 /  更改 )

Facebook photo

您正在使用您的 Facebook 账号评论。 注销 /  更改 )

Connecting to %s