文件及内容处理 - 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. Kotlin入门学习笔记

    前言 本文适合人群 有一定的java基础 变量与方法 变量声明及赋值 var 变量名: 变量类型 val 变量名: 变量类型 这里,var表示可以改变的变量,val则是不可改变的变量(第一个赋值之后, ...

  2. bootstrap思考一

    bootstrap是一种热门的Web前端流行框架,如果要兼容PC端.手机端和响应式布局,那他一定是我的首选.bootstrap内容很多,功能强大,其中最好入门也是很重要的就是他的栅格系统.他有四个典型 ...

  3. vue 中promise 异步请求数据

    export function getTypes(type) { return listDictItems({ code: type }).then((res) => { if (res.cod ...

  4. vue 音乐App QQ音乐搜索列表最新接口跨域设置

    在 webpack.dev.config.js中 'use strict' const utils = require('./utils') const webpack = require('webp ...

  5. eclipse配置freemarker,*.ftl文件

    亲测,提供2种方式,效果都不错: ----------------------------------------- 1.直接下载相应的插件.只需要下载FreeMarker的识别Jar包就可以:888 ...

  6. Lyndon Word学习笔记

    Lyndon Word 定义:对于字符串\(s\),若\(s\)的最小后缀为其本身,那么称\(s\)为Lyndon串 等价性:\(s\)为Lyndon串等价于\(s\)本身是其循环移位中最小的一个 性 ...

  7. sublime实现背景透明化

    预览 老司机们就不要吐槽背景图了 实现方法 首先下载插件,直接打包下载zip即可 地址:https://github.com/vhanla/SublimeTextTrans 下载完成后解压到packa ...

  8. NET Core应用中使用缓存

    NET Core应用中使用缓存 .NET Core针对缓存提供了很好的支持 ,我们不仅可以选择将数据缓存在应用进程自身的内存中,还可以采用分布式的形式将缓存数据存储在一个“中心数据库”中.对于分布式缓 ...

  9. MVP模式, 开源库mosby的使用及代码分析

    Android中的构架模式一直是一个很hot的topic, 近年来Architecture components推出之后, MVVM异军突起, 风头正在逐渐盖过之前的MVP. 其实我觉得MVP还是有好 ...

  10. MySQL 修改账号的IP限制条件

    今天遇到一个需求:修改MySQL用户的权限,需要限制特定IP地址才能访问,第一次遇到这类需求,结果在测试过程,使用更新系统权限报发现出现了一些问题, 具体演示如下. 下面测试环境为MySQL 5.6. ...