文本处理工具

diff 命令

diff 命令用于比较两个文件的内容 , 以了解其区别。它还可用于创建补丁文件。补丁文件用于在企业环境的多台计算机之间对相似文件进行更改
[root@localhost mnt]# diff file file1 ####diff 命令用于比较两个文件的内容 , 以了解其区别
这里写图片描述
[root@localhost mnt]# diff -c file file1 ####显示上下文周围的行
这里写图片描述
[root@localhost mnt]# diff -u file file1 ####使用统一输出格式
这里写图片描述
[root@localhost mnt]# diff -u file file1 > file.path ####生成补丁文件
这里写图片描述

修补命令 patch

/*patch 采用补丁文件 patchfile ( 包含由 diff 生成的差异列表 ) 并将这些差异应用于生成补丁版的一个或多个原始文件。通常 , 补丁版替换原始文件 , 但当指定 -b 选项时 , 可以制作备份。将用 .orig 文件名后缀重命名原始文件
[root@localhost mnt]# patch -b file file.path ####备份原文件
patching file file
这里写图片描述

grep 命令

grep 将显示文件中与模式匹配的行。其也可以处理标准输入
模式可以包含正则表达式元字符 , 因此始终为正则表达式加引号通常被视为一种好办法.
这里写图片描述
[root@localhost mnt]# grep test passwd ####在passwd中显示与test匹配的行
这里写图片描述
[root@localhost mnt]# grep test passwd -i ####-i表示不忽略大小写
这里写图片描述
[root@localhost mnt]# grep -i -E “test|root” passwd ####-E表示过滤多个关键字,显示含有test或root的行
这里写图片描述
[root@localhost mnt]# grep -i -E “^test” passwd ####^关键字表示以关键字开头
这里写图片描述
[root@localhost mnt]# grep -i -E “test$” passwd ####关键字$表示以关键字结尾
这里写图片描述
[root@localhost mnt]# grep “test” passwd ####细致过滤
这里写图片描述
[root@localhost mnt]# grep “test” passwd | grep -E “^test|test$” -v ####-v表示反向过滤,即不显示与关键字匹配的行
这里写图片描述
[root@localhost mnt]# grep westos -r /mnt ####在目录中查找含有关键字的文件
这里写图片描述
[root@localhost mnt]# grep westos -r /mnt -n ####显示关键字所在行
这里写图片描述
[root@localhost mnt]# grep -i test passwd -c ####显示关键字出现了几行
这里写图片描述

sort 命令

sort 用于排序文本数据。该数据可以位于文件中或其他命令输出中。 Sort 通常与管道一起使用
[root@localhost mnt]# sort -n file####纯数字排序
这里写图片描述
[root@localhost mnt]# sort file####仅看首字符排序
这里写图片描述
[root@localhost mnt]# sort -rn file####逆序排序
这里写图片描述
[root@localhost mnt]# sort -rnu file####-u表示去冗余,即去除重复的
这里写图片描述

uniq 命令

uniq“ 删除 ” 文件中重复的相邻行。若要只打印文件中出现的唯一行(“ 删除 ” 所有重复行 ), 必须首先对 uniq 的输入进行排序。由于可以为
uniq 指定其决策所基于的字段或列 , 因此这些字段或列是对其输入进行排序所必须的字段或列。如果未与选项一起使用 , uniq 会使用整个记录作为决策键 , 删除其输入中的重复行
[root@localhost mnt]# sort -rn file | uniq -c####uniq -c表示去除重复并统计重复的次数
这里写图片描述
[root@localhost mnt]# sort -rn file | uniq -d####显示重复的行
这里写图片描述
[root@localhost mnt]# sort -rn file | uniq -u####显示唯一行
这里写图片描述

sort与uniq的详细应用

[root@localhost mnt]# sort file
这里写图片描述
[root@localhost mnt]# sort -n file####此时排序只排首列
这里写图片描述
[root@localhost mnt]# sort -t : -k 3 -n file####-t表示指定分隔符,-k表示指定列
这里写图片描述
[root@localhost mnt]# sort -t : -k 3 -n file | uniq -c####去除重复并统计重复
这里写图片描述
显示当前进程内存前五的pid
[root@localhost mnt]# ps ax -o pid –sort -%mem | grep -v PID | head -n 5
这里写图片描述

tr 命令

tr 用于转字符 : 即 , 如果给定了两个字符范围 , 则只要发现某个字符位于第一个范围中 , 就会将其转换为第二个范围中对等的字符。该命令通常在 shell 脚本中使用 , 以按预期情况转换数据
[root@localhost mnt]# tr ‘a-z’ ‘A-Z’ < file####将小写字母转换为大写字母
[root@localhost mnt]# tr ‘A-Z’ ‘a-z’ < file####将大写字母转换为小写字母
这里写图片描述

cut 命令

cut 用于 “ 剪切 ” 文件中的文本字段或列并将其显示到标准输出
cut -d 分隔符####指定分隔符
[root@localhost mnt]# cut -d : -f 3 passwd####显示指定的列
这里写图片描述
[root@localhost mnt]# cut -c 1-3 passwd ####显示指定的字符
这里写图片描述

sed 命令

sed 命令是流编辑器 , 用于对文本数据流执行编辑。假定要处理一个文件名 , sed 将对文件中的所有行执行搜索和替换 , 以将修改后的数据发送到标准输出 ; 即 , 其实际上并不修改现有文件。与 grep 一样 , sed 通常在管道中使用
由于 sed 命令通常包含可以解释为 shell 元字符的字符 ,因此请按下面示例所示引用 sed 命令。默认情况下 , sed对文件中的所有行执行操作。在提供 sed 时 , 可带有地址
sed ‘s/原字符/替换字符/g’ file
sed -e ‘策略1’ -e ‘策略2’ file
[root@localhost mnt]# sed ‘s/sbin/westos’ passwd
这里写图片描述
[root@localhost mnt]# sed -e ‘s/westos/sbin/g’ -e ‘s/lee/nologin/g’ passwd
这里写图片描述
[root@localhost mnt]# vim rule
[root@localhost mnt]# sed -f rule passwd ###使用指定文件规则更改
这里写图片描述
[root@localhost mnt]# cat -b passwd > westos####显示行号
这里写图片描述
[root@localhost mnt]# sed ‘3,5s/sbin/westos/g’ westos ####3-5行替换
这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值