每日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用于创建新文件并编辑内容,文件名存在则追加