cut工具(重点)
作用:cut是
列
截取工具,用于列的截取
-c: 以字符为单位进行分割,截取
-d: 自定义分隔符,默认为制表符\t
-f: 与-d一起使用,指定截取哪个区域
sort工具(重点)
重点记住:sort、sort -nr
-u :uniq去除重复行
-r :reverse降序排列,默认是升序
-o : 将排序结果输出到文件中,类似重定向符号>
-n :以数字排序,默认是按字符排序
1.如果不加-n参数,那么是按照字符逐个的正序排序
2.sort + 文件
3.常用的组合是:
sort -n 内容:对内容按照数字进行排序
sort -nr 内容:对内容按照数字倒序排序
uniq工具(重点)
作用:去除重复,但是只去除连续的重复,间隔重复不会去除,还会保留
-i: 忽略大小写,a和A系统会认为是同一个字符
-c: 在每一行的前面显示该行在文件中出现的次数
-d: 只显示重复行
重点 -c
uniq 是对连续的内容进行去重
一般uniq -c 是和sort一起使用
sort -n 内容 | uniq -c
tee工具
-a: 追加内容
echo,主要用于输出信息到屏幕(标准输出)上
> 重定向,主要把前面命令的执行结果写入到文件中
注意: 如果不加 -a 代表 覆盖写入
提醒:一旦看到写入的时候,一定要考虑是追加还是覆盖!!!
echo "1" | tee system_status.log : 这是覆盖写入
echo "2" | tee -a system_status.log : 这是追加写入
应用场景:
① 实时监控并记录 :可以在执行系统命令时,同时将结果显示在屏幕上和记录到文件中,用于后续分析。
② 保存日志文件:在执行长时间运行的命令时,可以实时查看输出并保存为日志,方便追踪问题。
③ 结合管道使用:在复杂的管道命令中,将中间结果保存到文件中,同时继续传递给下一个命令。
diff工具
Linux 中用于比较两个文件或目录内容的工具
diff
主要用于文件比较和合并,可以生成补丁文件,以便在需要时将一个文件的修改应用到另一个文件上。
基本语法:
diff [选项] 文件1 文件2
默认情况下,
diff
的输出格式为 正常格式,其符号含义如下:
<
表示文件1中的内容
>
表示文件2中的内容c 表示修改(change)
a 表示增加(add)
diff工具主要用于(文件)和(目录) 差异比较
我们还可以借助于diff补丁功能,保证两个文件内容的高度一致!
特性 | -u (统一格式) | -c (上下文格式) |
---|---|---|
输出简洁性 | 更简洁,适合代码审查和版本控制 | 更详细,适合人工阅读 |
上下文信息 | 显示较少上下文行(默认 3 行) | 显示更多上下文行(默认 3 行) |
标记符号 | 使用 @@ 和 -/+ | 使用 *** 和 --- |
差异行标记 | - 表示删除,+ 表示添加 | ! 表示差异 |
适用场景 | 代码版本控制系统(如 Git)、自动化工具 | 人工阅读、需要更多上下文信息的场景 |
paste工具
作用:paste 是 Linux 中用于逐行合并文件的命令行工具。它能够将多个文件的内容按行拼接,输出到标准输出或另一个文件中。与 cat
不同,paste
是将每个文件中的行拼接在一起,而不是逐文件合并。
常见选项:
-d:delimiter,自定义分隔符,默认是\t
-s:串行处理,非并行
注意:这是单文件操作,将文件中以列存在的数据,变成一行数据
逐行合并:
paste -d ',' a.txt d.txt
串行:
paste -s d.txt
注: 可以创建两个配置文件自行演示
tr工具(重点)
tr用于字符转换,替换和删除;主要用于删除文件中控制字符或进行字符转换
主要用于字符删除与替换操作 => cpu 95% => 95,去掉%百分号
记住:
tr -d "%",用于删除某些内容,如删除%,也支持正则
tr -s ' ',用于去除重复的空格,最终保留1个空格
tr 旧内容 新内容,用于实现替换操作
基本语法
用法1:命令的执行结果交给tr处理,其中set1用于查询,set2用于转换处理
# commands | tr 'set1' 'set2'
注:'set1'要替换或处理的字符集,'set2'将字符替换为的目标字符集
用法2:tr处理的内容来自文件,记住要使用"<"标准输入
# tr 'set1' 'set2' < filename
用法3:匹配string1进行相应操作,如删除操作
# tr options 'set1' < filename
常用选项:
-s (--squeeze-repeats): 将相邻的重复空白字符压缩成一个空白字符。'hello world' => 'hello world'
-d (--delete): 删除输入中指定的字符。常用正则表达式:用少量字符表示某个范围!
字符串 | 含义 |
---|---|
a-z | 匹配所有小写字母 |
A-Z | 匹配所有大写字母 |
0-9 | 匹配所有数字 |
0-9a-zA-Z | 匹配所有数字与大小写字母 |