文本处理工具

文本处理工具

文件查看命令:cat  cat [OPTION]… [FILE]… 

-E: 显示行结束符$ 

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

-A:显示所有控制符 

-b:非空行编号 

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

[root@centous1 soft]# echo "1 2 3 4 5 6" >> f1
[root@centous1 soft]# cat f1
1 2 3 4 5 6

more: 分页查看文件 more [OPTIONS…] FILE… 

-d: 显示翻页及退出提示 

less:一页一页地查看文件或STDIN输出 查看时有用的命令包括: /文本 搜索 文本 

n/N 跳到下一个 或 上一个匹配 

less 命令是man命令使用的分页器

注;平时的用法就是,cat FILE | more/less

head head [OPTION]… [FILE]… 

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

-n #: 指定获取前#行 

-#: 指定行数 

tail tail [OPTION]… [FILE]… 

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

-n #: 指定获取后#行 

-#:指定行数

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

[root@centous1 soft]# cat f1
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
[root@centous1 soft]# cat f1 | head -n 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
[root@centous1 soft]# cat f1 | tail -n 3
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
[root@centous1 soft]# cat f1 | head -n 4 | tail -n 1
1 2 3 4 5 6 7

cut [OPTION]… [FILE]… 

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

#: 第#个字段 #,#[,#]:离散的多个字段,例如1,3,6 #-#:连续的多个字段, 例如1-6 混合使用:1-3,7 

-c 按字符切割 –output-delimiter=STRING指定输出分隔符

[root@centous1 soft]# cat f1 | cut -d " " -f 1
1
1
1
1
1
1
[root@centous1 soft]# cat f1 | cut -d " " -f 1,4,7
1 4
1 4
1 4
1 4 7
1 4 7
1 4 7

注;这里的意思是,cut -d 以空格为分隔符进行切割,-f则是显示第几行,以逗号隔开

wc 计数单词总数、行总数、字节总数和字符总数 可以对文件或STDIN中的数据运行 

使用 -l 来只计数行数 

使用 -w 来只计数单词总数 

使用 -c 来只计数字节总数 

使用 -m 来只计数字符总数

[root@centous1 soft]# cat f1
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
[root@centous1 soft]# wc -l f1
6 f1
[root@centous1 soft]# wc -w f1
39 f1
[root@centous1 soft]# wc -m f1
79 f1
[root@centous1 soft]# wc -c f1
79 f1

sort [options] file(s) 

常用选项  

-r 执行反方向(由上至下)整理 

-n 执行按数字大小整理  

-f 选项忽略(fold)字符串中的字符大小写  

-u 选项(独特,unique)删除输出中的重复行  

-t  c 选项使用c做为字段界定符  

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

[root@centous1 soft]# cat f1 | sort -r
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7
1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
[root@centous1 soft]# cat f1 | sort -n
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
[root@centous1 soft]# echo "1 2 3 4" >> f1
[root@centous1 soft]# cat f1
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
1 2 3 4
[root@centous1 soft]# sort -u f1
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
[root@centous1 soft]# cat /etc/passwd | sort -t ":" -k 3n | tail -n 10
abrt:x:173:173::/etc/abrt:/sbin/nologin
saslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin
zabbix:x:500:500::/home/zabbix:/bin/bash
testuser:x:4321:0::/home/test:/bin/csh
text:x:4322:4322::/home/text:/bin/bash
user1:x:4323:4323::/home/user1:/bin/bash
user2:x:4324:4324::/home/user2:/bin/bash
testbash:x:4326:4326::/home/testbash:/bin/bash
basher:x:4327:4327::/home/basher:/bin/bash
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

uniq命令:从输入中删除重复的前后相接的行 

uniq [OPTION]… [FILE]… 

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

-d: 仅显示重复过的行 

-u: 仅显示不曾重复的行 连续且完全相同方为重复  

常和sort 命令一起配合使用: sort  userlist.txt  |  uniq -c

列:

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

netstat -nt | tr -s " " ";" | cut -d ";" -f5 | uniq -c | sort -n | head -n -2

diff

比较两个文件之间的区别 $ diff foo.conf-broken foo.conf-works 

5c5

 < use_widgets = no — >

 use_widgets = yes 

注明第5行有区别(改变)

diff 命令的输出被保存在一种叫做“补丁”的文件中  

使用 -u 选项来输出“统一的(unified)”diff格式文 件,最适用于补丁文件

原创文章,作者:forest,如若转载,请注明出处:http://www.178linux.com/30467

(0)
forestforest
上一篇 2016-08-08 16:16
下一篇 2016-08-08 16:16

相关推荐

  • 计算机的组成及其功能

    计算机由运算器,控制器、存储器及输入、输出装置五部分组成。 第一,运算器(Arithmetical and Logical Unit),也称作算术逻辑单元,主要是对数据进行各种运算。 第二,控制器(Control Unit)是计算机的控制中心,协调各计算机各部分按照预先的目标和步骤有序的工作。控制器从存储器中逐条取出指令,分析每条指令规定的操作和所需数据的存…

    Linux干货 2016-09-17
  • Shell脚本编程 流程控制—循环

    循环:重复执行所指定的代码片段,直到循环条件不满足,则退出循环 一、for循环     语法格式:     for 变量名 in 列表     do         循环体     done &nbs…

    Linux干货 2016-08-24
  • 二进制、八进制、十进制、十六进制之间的转换

    二进制、八进制、十进制、十六进制之间的关系:   二进制:0,1 八进制:0,1,2,3,4,5,6,7, 十进制:0,1,2,3,4,5,6,7,8,9 十六进制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F   二进制与十进制之间的转换: 十进制转二进制:   二进制转十进制:   二进制与八进制…

    2017-04-01
  • 8月9日vim作业

    复制/etc/rc.d/init.d/functions文件至/tmp目录;替换/tmp/functions文件中的/etc/sysconfig/init为/var/log; :%s@/etc/sysconfig@/var/log@ 删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号 :%s@^#\([[:spac…

    Linux干货 2016-08-10
  • KeepAlived实现HAProxy双主并实现资源的动静分离

    KeepAlived实现HAProxy双主并实现资源的动静分离 前言 HAProxy介绍 实验拓扑 实验环境 实验步骤 配置后端httpd服务器 配置HAProxy实现backend负载均衡 测试动静分离效果 配置KeepAlived 测试KeepAlived 配置DNS DNS测试 最终测试 总结 前言 我们这次使用HAProxy作为负载均衡调度器来实现后…

    Linux干货 2016-04-16
  • 一起学DHCP系列(五)指派、获取

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/163168     本节将主要讲述DHCP客户端获取IP的过程,也是此系列中非常重要的一节。   &…

    Linux干货 2015-03-25