(1) cat

总结在前面:
cat 有两种存在形式:1 普通命令,2 过滤器。
作为过滤器,是把从标准输入的数据 复制到 标准输出(It reads from standard input and writes to standard output without modifying the data) 。
但是,作为过滤器的弊端是,只能从 ‘一个文件=也即是标准输入’中,获取数据, 这明显限制了cat的功能。
而作为普通命令,却是可以读取多份’数据’(以参数存在),并将数据输出到标准输出。


常用的选项

① 作为普通命令,可接收多个 ‘文件’ 为参数,拼接文件里面的内容,内容有先后顺序,将文本的每一行写到了 ‘标准输出’。
$ cat file1 file2 file3 .. filen

② cat作为过滤器存在,从标准输入中读取数据。
$ output_from_some command | cat

例子: 这里 ‘-‘,代表着cat的标准输入,从而将 ‘标准输入’ 和 路径文件参数的内容一起输出:when FILE is -, read standard input。
这里,cat作为普通命令存在。
$ echo "As the first line" | cat - file.txt #相当于cat 命令有两个参数。
稍后,继续详解’ - ‘的作用。

③压缩空白行:-s压缩连续多个空白行,只保留一个空白行。
$ cat -s file
进一步:如果要去除空白行,使用tr -s ‘\n’ :=将多个’\n’变为只有一个’\n’
$ cat file | tr -s '\n'

④ 将制表符以符号’^I’代替,从而显示的标识出来。

# 一个`^I`代表一个制表符。
$ cat -T blank | tr -s '\n'
line1
^I^I^Iline2
line3
^I
^I^I
line4

⑤ cat在stdout的基础上添加个行标识:

# 注意:并没有修改原文件。
$ cat -nT blank
     1  line1
     2
     3  ^I^I^Iline2
     4
     5
     6  line3
     7
     8  ^I
     9  ^I^I
    10  line4

⑥ 不对空白行进行标识:

# -b overrides -n。
$ cat -b blank

更多的使用:请查看 $ cat --help

root@37C:~# cat --help
用法:cat [选项]... [文件]...
Concatenate FILE(s) to standard output.

如果没有指定文件,或者文件为"-",则从标准输入读取。

  -A, --show-all           equivalent to -vET
  -b, --number-nonblank    number nonempty output lines, overrides -n
  -e                       equivalent to -vE
  -E, --show-ends          display $ at end of each line
  -n, --number             number all output lines
  -s, --squeeze-blank      suppress repeated empty output lines
  -t                       与-vT 等价
  -T, --show-tabs          将跳格字符显示为^I
  -u                       (被忽略)
  -v, --show-nonprinting   使用^ 和M- 引用,除了LFDTAB 之外
      --help           显示此帮助信息并退出
      --version        显示版本信息并退出

示例:
  cat f - g  先输出f 的内容,然后输出标准输入的内容,最后输出g 的内容。
  cat        将标准输入的内容复制到标准输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值