Linux命令:cat、tac、rev

cat - concatenate files and print on the stand output

cat option file
  • -n 显示行号
  • -b 显示行号,但不对空行编号
  • -s 抑制重复的空行
  • -v 显示非打印字符

cat 不是一个内置的命令,作用是 复制标准输入到标准输出

[root@localhost ~]# cat newuser.txt
tom
jack
luna



Davi

kasi

[root@localhost ~]# cat newuser.txt -s            # 清除额外的空行(但保留一行)
tom
jack
luna

Davi

kasi
[root@localhost ~]# cat newuser.txt -n          # 显示行号,包括空行
     1  tom
     2  jack
     3  luna
     4
     5
     6
     7  Davi
     8
     9  kasi
[root@localhost ~]# cat newuser.txt -b          # 只显示有内容的行,标出行号
     1  tom
     2  jack
     3  luna



     4  Davi

     5  kasi

-v 选项显示非打印字符,我不明白这是用来干什么的。


cat 也能输出 标准输出的内容,具体如下:

[root@localhost ~]# cat -
asd
asd
qaz
qaz

通过在界面输入asd下一行返回之前输入的asd,同理输入qaz返回一个qaz

使用 Ctrl + D 退出。


# man cat
cat f - g

在 man 中有一个上面的例子,翻译过来是: 依次输出文件 f,标准输入和文件 g 到标准输出(老实说我并不知道这样做有什么具体的功能,如果知道希望能评论下)


tac - concatenate and print files in reverse

每行反序输出

[root@localhost ~]# tac newuser.txt
kasi

Davi



luna
jack
tom

有一个 -b 选项,作用是在行前添加分隔

[root@localhost ~]# cat f.txt
123
456

[root@localhost ~]# tac -b f.txt


456123[root@localhost ~]#

tac 这个命令就比较冷门了,这个选项就更冷门了。


rev - reverse lines character wise

每行的内容以字符串为单位反序输出

[root@localhost ~]# rev newuser.txt
mot
kcaj
anul



ivaD

isak
posted @ 2024-05-05 11:30  takenika  阅读(15)  评论(0)    收藏  举报