linux之文本处理工具

一,文本查看命令


cat命令

    

    cat [OPTION]... [FILE]...

OPTION:

    -E:显示行结束符$

    -n: 对显示出的每一行进行编号

    -A: 显示所有控制符

    -b: 非空编号

    -s: 压缩连续的空行成一行

blob.png


more命令


more命令是用来分页查看文件内容

more [options] file [...]

    -d选项是为了显示翻页和退出


less命令


less命令是用来一页一页地查看文件或STDIN输出


查看是有用地命令包括:

    /文本 搜索 文本

    n:转到下一个匹配项  N:转到下一个匹配项

并且,less命令还是man命令使用地分页器


head命令


head [OPTION]... [FILE]...


OPTION:

    -c#:指定获取前#字节

    -n#:指定获取前#行


tail命令


tail [OPTION]... [FILE]...


OPTION:

    

    -c#:指定获取后#字节

    -n#:指定获取后#行

    -f:跟踪显示问津新追加的内容,常用日志监控


二,文本内容操作命令


cut命令


cut OPTION... [FILE]...


    -d DELIMITER:指明分隔符,默认tab

    -f FILEDS:

        #:     第#个字段

        #,#[,#]:  离散的多个字段,例如1,2,4,5

        #-#:     连续的多个字段,例如1-5

        混合使用:1-3,6,9


    -c 按字符切割

    --output-delimiter=STRING 指定输出分隔符

比如:显示/etc/passwd文件中用户,uid,默认的shell,中间用 --++-- 作为分隔符

blob.png

比如按照字符切割,每行第一个到第八个字符切割出来

blob.png


paste命令


主要用户合并两个文件同行号的列到一行


paste [OPTION]... [FILE]...


OPTION:

    -d 分隔符,指定分隔符,默认用TAB

    -s :所有行合成一行显示


比如

blob.png


wc命令


文本数据统计命令,用来计数单词总数,行总数,字节总数和字符总数,可以对文件或者STDIN中的数据运行

blob.png

命令结果中的三对数字分别对应为 行数,字数,字符数

它有以下几个参数

    -l 用来统计行数

    -w 用来统计单词总数

    -c 用来统计字节总数

    -m 用来统计字符总数


三,文本排序


sort命令


主要是把整理过的文本显示在STDOUT ,不会改变原始文件内容


Usage: cut OPTION... [FILE]...


OPTION:

    -r 执行反方向排序

    -n 按数字大小进行排序

    -f 忽略字符串中的字符大小写

    -u (unique)删除输出中的重复行

    -t c 使用c作为字段界定符

    -k X 按照使用c字符分割的X列来整理能够使用多次


比如 若实现对/etc/passwd 中uid进行由大到小排序,可以以:为分隔符,对第三列进行排序,如下

blob.png


uniq命令


该命令可以从输入中删除重复的前后相接的行


Usage: uniq [OPTION]... [INPUT [OUTPUT]]


OPTION:

    -c 显示每行重复出现的次数

    -d 仅显示重复过的行(连续且完全相同方为重复)

    -u 仅显示不曾重复的行


此命令常和sort命令同时使用:

sort test.txt | uniq -c


diff命令


该命令是用来比较连个文件之间的区别,比如


blob.png


diff 命令的输出可以被保存到一种叫做"补丁"的文件中,可以使用-u选项来输出统一(unified)的diff格式文件,适用于补丁文件

path 命令复制在其他文件中进行的改变(需要谨慎使用!),可以使用-b选项来自动备份改变了的文件


    diff -u one.txt two.txt > path.patch

    patch -b one.txt path.patch


实战练习:

1、找出ifconfig命令结果中本机的所有IPv4地址 

 ifconfig | tr -s ' ' | cut -c7-23|head -2|tail -1|cut -d ' ' -f1

2、查出分区空间使用率的最大百分比值 

 df | cut -c44-46|sort -n|tail -1

3、查出用户UID最大值的用户名、UID及shell类型 

 cat /etc/passwd | sort -n -t: -k3|tail -1|cut -d: -f1,3,7

4、查出/tmp的权限,以数字方式显示 

 stat /tmp | head -4|tail -1 |cut -d '(' -f2|cut -d '/' -f1

5、统计当前连接本机的每个远程主机IP的连接数,并按从大 到小排序

 netstat -nt | tr -s ' '|cut -d ' ' -f5 |cut -d: -f1 | uniq -c|\grep [.] 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值