zoukankan      html  css  js  c++  java
  • Linux之cat的使用

    基本介绍

     

    工作原理

    从标准输入读入要 cat 的文件列表,然后逐个打开,读入文件内容,再将内容输出到标准输出上。

    使用场景

    • 一次显示整个文件
    • 从键盘创建一个文件
    • 将几个文件合并为一个文件
    • 将一个或多个文件的内容追加到另一个文件后面

    表达式

    cat [-AbeEnstTuv] [--help] [--version] fileName

    参数介绍

      -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"选项;

    基本使用

    • 查看文件
       1.cat f1.txt,查看f1.txt文件的内容。
      2、cat -n f1.txt,查看f1.txt文件的内容,并且由1开始对所有输出行进行编号。
      3、cat -b f1.txt,查看f1.txt文件的内容,用法与-n相似,只不过对于空白行不编号。此时和 nl f1.txt的效果是一样的
      4、cat -s f1.txt,当遇到有连续两行或两行以上的空白行,就代换为一行的空白行。
      5、cat -e f1.txt,在输出内容的每一行后面加一个$符号。
    • 创建文件

      注意:EOF为结束标识符并不是确定的,可以用任何你想用的字母代替,如果不适用结束标识符,需要用CTRL+D来结束创建;

      ‘>’这个符号表示将新内容覆盖test.txt文件中原有的内容,如果想要不覆盖原有内容只追加,需要将‘>’改成‘>>’;

       cat >test.txt<<EOF

    • 多个文件内容合并到另一个文件中
      cat -n test1.txt test2.txt >test3.txt  将test1.txt和test2.txt文件中的内容加上行号输出到test3.txt文件中,但是如果test3.txt文件中的原始内容将被覆盖
    • 追加新内容到文件中
      cat >>test1.txt <<EOF  将新内容追加到test1.txt文件中
    • 查看查询92行之后的日志,并显示前20行

      cat -n test.log |tail -n +92|head -n 20

    • 查看tar文件的日志要使用zcat

      zcat za-athena-insure-mics_10.253.209.46_20190424.tar.gz |grep --binary-files=text 'JDZEDXYX15cd9e22ca554e2a8f1d4bee12d73627' -A30;

    注意:
    •  如果写入的内容中有$符号,需要对$进行转义
    例如:我们在创建shell脚本文件时可能会有下面的代码
    ~# cat >d.sh <<EOF > DATE=$(date +%Y%m%d) > mkdir /root/$DATE > EOF

      

    学习连接

    cat的高级使用

  • 相关阅读:
    全局变量引用与声明
    Oracle基础~dg原理
    Oracle基础~dg管理
    Oracle基础~rman克隆
    oracle基础~rman恢复篇
    oracle基础~linux整体性能优化
    oracle基础~报错汇总与解决办法
    oracle基础~用户和权限
    oracle基础~rac-asm
    oracle基础~awr报告
  • 原文地址:https://www.cnblogs.com/htyj/p/10251824.html
Copyright © 2011-2022 走看看