开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第28天,点击查看活动详情
引言
好好活,做有意义的事;做有意义的事,就是好好活.
您能在这里看到啥
数据准备catcmp
数据准备
-
目录结构
. ├── test.txt //测试文本 └── ts.sh // 测试脚本 -
测试数据
cat
-
含义
用于连接文件并将文件内容打印或把文件内容返回接收者.
-
语法
cat [选项] [文件]简单举例:
cat test.txt -
常用功能
-
显示文件内容
cat test.txt -
创建新文件并写入数据
cat >"newts.txt" <<EOF 我是测试数据 EOF -
多个文件合并显示
cat newts.txt test.txt > subtest.txt
经过上面命令我们测试数据,如下所示
-
-
常用命令参数
-
-n,-number-
含义
由数字
1开始对所有输出的行数编号 -
事例
cat -n test.txt 输出结果 1 初始化 2 aaa 3 4 Ffff
-
-
-b, --number-nonblank-
含义
和上面的
-n效果基本上是一样的.只是会对空白行不进行编号处理.编号依次顺延 -
事例
cat -b test.txt 输出结果 1 初始化 2 aaa 3 Ffff
-
-
-s, --squeeze-blank-
含义
遇到连续两行空白.会转换成一行空白.不显示行数
-
-
-v , --show-nonprinting-
含义
用 ^ 和 M- 符号,除了 LFD 和 TAB 之外
-
-
-e, --show-ends-
含义
在每行结束的时候显示
$
-
-
-
文件内容
-
获取内容
这里总结一下.平时获取内容的方法
-
cat
content=$(cat "$test") echo "$content" # 使用for 循环打印 for line in $p; do echo "$line" done -
read
while read -r line; do echo "$line" done <"$test" -
cat + read
while IFS= read -r i; do echo "${i%?}"; done <"$test"
-
-
清空内容
cat /dev/null > "$test"
-
cmp
-
含义
用于比较两个文件是否存在差异.当文件存在差异的时候,辉县市第一个不同之处字符串和列数编号.如果相同则什么都不输出
-
语法
cmp [参数] [第一个文件] [第二个文件] -
参数
参数 含义 -s, --quite --silent不显示错误信息 文件相同只返回0,文件不同返回1,发生错误返回2 -l, --verbose显示出每一个不同点的字节号(10进制)和不同点的字节内容(8进制) -i NUM --ignore-initial=NUM从NUM字节后开始比较 -i NUM:NUM2 --ignore-intial=NUM:NUM2第一个文件从NUM开始.第二个文件从后NUM2开始 -n NUM, --bytes=NUM设定比较字节上限.最多比较NUM字节 -
事例
cmp newts.txt subtest.txt # 输出结果 cmp: EOF on newts.txt 表示subtest.txt 前半部分和 newts.txt 是相同的.剩下的还是有不同