每日一点Linux之Linux命令(1) -- cat

每日Linux(1) -- cat

作用

连接文件,打印到标准输出

语法

命令行

cat [-AbeEnstTuv] [--help] [--version] [infilename] [>filename]

-AbeEnstTuv:参数

-v (show-nonprinting):使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --(show-ends) : 在每行结束处显示 $。
-T 或 --(show-tabs): 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
--help:查看帮助
--version:版本说明
infilename:读取文件名称,没有该参数默认从键盘输入,用于写文件
>filename:输出文件名称,没有该参数默认输出到终端显示

参数

  • 测试文件test.txt

    # 测试内容
    test	test1		
    test2
    
    
    test3
    
  • -n(number):将每一行编号显示(包含空行),从1开始

    $cat -n text.txt
    
         1	test	test1
         2	test2
         3	
         4	
         5	test3
    
  • -b(number-nonblank):同-n,但不包含空行

    $cat -b text.txt
    
         1	test	test1
         2	test2
    
    
         3	test3
    
  • -s(squeeze-blank):合并连续空行为一行空行

    $cat -s text.txt
    
    test	test1
    test2
    
    test3
    
  • -v(show-nonprinting):直接读取文件的字节,对特殊字符进行转换

    • 用‘^’输除LFD和TAB外的控制字符
    • 每个字节最高位为1的字符就用‘M-’替代每个字节的最高位
    • 一般出现编码格式错误时可以使用该参数
    举例
    汉字:'学'
    UTF-8:16进制 E5 AD A6 2进制 11100101 10101101 10100110
    高1位转换:M-1100101 M-0101101 M-0100110
    后7位转换:M-eM--M-&
    
  • -E(show-ends) : 在每行结束处显示 $

    $cat -E text.txt
    
    test	test1$
    test2$
    $
    $
    test3$
    
  • -T(show-tabs): 将 TAB 字符显示为 ^I

    $cat -T text.txt
    
    test^Itest1
    test2
    
    
    test3
    
  • -A: 等价于-vET

  • -e: 等价于-vE

  • -t: 等价于-vT

Tips

  • cat>filename用于创建新文件并编辑内容,文件名存在则覆盖
  • cat>>filename用于创建新文件并编辑内容,文件名存在则追加

猜你喜欢

转载自www.cnblogs.com/yangjunh/p/linux_cat.html