Shell命令-文件及内容处理之cat、tac

匿名 (未验证) 提交于 2019-12-02 23:26:52

文件及内容处理 - cat、tac

1. cat:显示文件内容

cat命令的功能说明

cat命令用于连接多个文件并且打印到屏幕输出或重定向到指定文件中

cat命令的语法格式

cat [OPTION]... [FILE]...
cat [-AbeEnstTuv] [--help] [--version] fileName

file命令的选项说明

cat 参数很多,但用到的就几个。表1为 cat 命令的参数及说明:

表1: cat命令的参数及说明

参数选项 解释说明
-n 或 --number 由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting 使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends 在每行结束处显示 $。
-T 或 --show-tabs 将 TAB 字符显示为 ^I。
-A, --show-all 等价于 -vET。
-e 等价于"-vE"选项;
-t 等价于"-vT"选项;

cat命令的实践操作

范例1: 执行cat命令的完整命令生成oldboy.txt文件内容,并且不带参数查看内容

-------------------------------------------------------------- ==>命令如下<== -------------------------------------------------------------- cat >oldboy.txt <<EOF I Love Linux  Me too  good EOF  -------------------------------------------------------------- ==>演示如下<== -------------------------------------------------------------- [root@oldboyedu /test]# ls [root@oldboyedu /test]# cat >oldboy.txt <<EOF > I Love Linux > > Me too  >good > EOF [root@oldboyedu /test]# ls oldboy.txt  -------------------------------------------------------------- ==>不带参数查看内容<== -------------------------------------------------------------- [root@oldboyedu /test]# cat oldboy.txt  I Love Linux  Me too  good

范例2: 执行cat命令,分别带 -n及-b 选项,并对比区别

-------------------------------------------------------------- ==>-n打印行号,包括空行<== -------------------------------------------------------------- [root@oldboyedu /test]# cat -n oldboy.txt      1  I Love Linux      2        3  Me too      4        5  good  -------------------------------------------------------------- ==>-b也打印行号,但不包括空行<== -------------------------------------------------------------- [root@oldboyedu /test]# cat -b oldboy.txt      1  I Love Linux       2  Me too       3  good

范例4: 执行 cat 命令,带 -E 参数

[root@oldboyedu /test]# cat -E oldboy.txt I Love Linux$ $ Me too$ $ good$  -------------------------------------------------------------- ==>结束标识符$,即使是空行也要显示$<== -------------------------------------------------------------- [root@oldboyedu /test]# echo >oldboy1.txt [root@oldboyedu /test]# cat -E oldboy1.txt $ [root@oldboyedu /test]# ll oldboy1.txt -rw-r--r-- 1 root root 1 4月  14 15:18 oldboy1.txt

范例5: 执行 cat 命令,带 -s 参数

-------------------------------------------------------------- ==>追加几行文本<== -------------------------------------------------------------- [root@oldboyedu /test]# cat >>oldboy.txt <<EOF >  >  > if you like my blog >  >  > call me qq > EOF  -------------------------------------------------------------- ==>结果如下<== -------------------------------------------------------------- [root@oldboyedu /test]# cat oldboy.txt  I Love Linux  Me too  good  if you like my blog  call me qq  -------------------------------------------------------------- ==>-s效果如下<== -------------------------------------------------------------- [root@oldboyedu /test]# cat -s oldboy.txt I Love Linux  Me too  good  if you like my blog  call me qq

2. tac:反向显示文件内容

tac命令的功能说明

taccat的反向拼写,因此命令的功能为反向显示文件内容

cat命令的语法格式

tac [OPTION]... [FILE]...
tac [-AbeEnstTuv] [--help] [--version] fileName

tac命令的选项说明

tac 用的不多,在此简单了解一下即可

范例1: 倒序查看文本内容

-------------------------------------------------------------- ==>文件里写文本内容<== -------------------------------------------------------------- [root@oldboyedu /test]# echo "1234567" >> oldboy3.txt [root@oldboyedu /test]# echo "1234567" >> oldboy3.txt [root@oldboyedu /test]# echo "1111111" >> oldboy3.txt [root@oldboyedu /test]# echo "2222222" >> oldboy3.txt [root@oldboyedu /test]# echo "3333333" >> oldboy3.txt  -------------------------------------------------------------- ==>正常查看<== -------------------------------------------------------------- [root@oldboyedu /test]# cat oldboy3.txt 1234567 1234567 1111111 2222222 3333333  -------------------------------------------------------------- ==>反向查找<== -------------------------------------------------------------- [root@oldboyedu /test]# tac oldboy3.txt 3333333 2222222 1111111 1234567 1234567 [root@oldboyedu /test]# 

今天就写到这里,有什么疑问或出现什么错误,随时欢迎大神们发表评论指点迷津

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!