文件及内容处理 - 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]# 

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

Shell命令-文件及内容处理之cat、tac的更多相关文章

  1. Shell命令-文件及内容处理之sort、uniq

    文件及内容处理 - sort.unip 1. sort:对文件的文本内容排序 sort命令的功能说明 sort 命令用于将文本文件内容加以排序.sort 可针对文本文件的内容,以行为单位来排序. so ...

  2. Shell命令-文件及内容处理之more、less

    文件及内容处理 - more.less 1. more:分页显示文件内容 more命令的功能说明 more 命令类似 cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白 ...

  3. Shell命令-文件及内容处理之head、tail

    文件及内容处理 - head.tail 1. head:显示文件内容头部 head命令的功能说明 head 命令用于显示文件头部内容,默认执行 head 命令会输出文件开头的 10 行. head命令 ...

  4. Shell命令-文件及内容处理之cut、rev

    文件及内容处理 - cut.rev 1. cut:切割文件内容 cut命令的功能说明 cut 命令用于显示每行从开头算起num1 到 num2 的文字. cut命令的语法格式 cut [OPTION] ...

  5. Shell命令-文件及内容处理之diff、vimdiff

    文件及内容处理 - diff.vimdiff 1. diff:比较两个文件区别 diff命令的功能说明 diff命令用比较文件的差异.diff以逐行的方式,比较文本文件的异同处.如果指定要比较目录,则 ...

  6. Shell命令-文件及内容处理之wc,tr

    文件及内容处理 - wc.tr 1. wc:统计文件的行数.单词数或字节数 wc命令的功能说明 wc 命令用于计算字数.利用 wc 指令我们可以计算文件的字节数,字数,或是列数,若不指定文件名称,或是 ...

  7. Shell命令-文件及内容处理之grep(egrep)、join

    文件及内容处理 - grep(egrep).join 1. grep(egrep):文本过滤工具 grep(egrep)命令的功能说明 grep命令是Linux系统中最重要的命令之一,其功能是从文本文 ...

  8. Shell命令-文件及内容处理之split、paste

    文件及内容处理 - split.paste 1. split:分割文件为不同的小片段 split命令的功能说明 split 命令用于将一个文件分割成数个.该指令将大文件分割成较小的文件,在默认情况下将 ...

  9. Shell命令-文件及内容处理之vi、vim

    文件及内容处理 - vi.vim 1.Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器 ...

随机推荐

  1. 快速数论变换(NTT)小结

    NTT 在FFT中,我们需要用到复数,复数虽然很神奇,但是它也有自己的局限性--需要用double类型计算,精度太低 那有没有什么东西能够代替复数且解决精度问题呢? 这个东西,叫原根 原根 阶 若\( ...

  2. FocusListener焦点监听器

    [FocusListener焦点监听器] public class Demo extends JFrame { public Demo(){ setDefaultCloseOperation(Wind ...

  3. 从头认识一下docker-附带asp.net core程序的docker化部署

    从头认识一下docker-附带asp.net core程序的docker化部署 简介 在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是 ...

  4. 【笔记】两个根因分析方法:5WHY&10WHY

    什么是问题根因分析 根本原因分析(root cause analysis):通过调查和分析问题哪里出错.为什么出错,寻求防止差错事故再次发生的必要措施,从而提高服务安全和质量. 根因分析目标 问题(发 ...

  5. DBA思考系列——凛冬将至,丧钟为谁而鸣!

    诸多迹象昭示着凛冬将至,大萧条终于正式在全国各地拉开了序幕,很多80后的国人没有经历过苦日子,也没有经历过真正的金融危机.这场经济危机必将摧毁一些无视经济能力,盲目购房,盲目消费的家庭或个人.个人对经 ...

  6. Yii2.0调用sql server存储过程并获取返回值

    1.首先展示创建sql server存储过程的语句,创建一个简单的存储过程,测试用. SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE P ...

  7. centos6.5上进行crontab操作

    1.service crond start 2. vi  /home/cron.ini */ * * * * /home/monitor.sh 3.crontab  /home/cron.ini OK

  8. TableML-GUI篇(C# 编译/解析 Excel/CSV工具)

    项目情况 本文接上篇TableML Excel编译/解析工具,本文主要介绍GUI工具的使用,及配置项,如果你想了解此工具更加详细的说明,请阅读上篇文章. 项目地址:https://github.com ...

  9. LeetCode算法题-Maximum Depth of N-ary Tree(Java实现)

    这是悦乐书的第261次更新,第274篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第128题(顺位题号是559).给定n-ary树,找到它的最大深度.最大深度是从根节点到 ...

  10. 使用Java反射优化多个方法调用

    有段时间没来写博客了,心里一直念叨空了来,今天有时间来记录一篇.前段时间领导提出优化部分系统模块,根据业务要求系统中有很多产品,产品下面有N个指标,一个指标就对应一个方法,所以系统代码中就是这样一个情 ...