文本处理工具

Posted yaun1498078591

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文本处理工具相关的知识,希望对你有一定的参考价值。

抽取文本的工具

查看文件内容:cat 、less

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

-E: 显示行结束符$
-n: 对显示出的每一行进行编号
-A:显示所有控制符
-b:非空行编号
-s:压缩连续的空行成一行

less:一页一页地查看文件或STDIN输出

查看时有用的命令包括:
/文本搜索 文本
n/N 跳到下一个 或 上一个匹配
less 命令是man命令使用的分页器

文件抽取:head(行首) 、tail(行尾)

head:head [OPTION]... [FILE]...
-c #: 指定获取前#字节
-n #: 指定获取前#行
-#: 指定行数

tail:tail [OPTION]... [FILE]...
-c #: 指定获取后#字节
-n #: 指定获取后#行
-#:指定行数
-f: 跟踪显示文件fd新追加的内容,常用日志监控
相当于 --follow=descriptor

按列抽取:cut

cut [OPTION]... [FILE]...
-d : 指明分隔符,默认tab
-f :取需选定的列
-c 按字符切割
--output-delimiter=STRING指定输出分隔符

按关键字抽取:grep

grep命令选项
?--color=auto: 对匹配到的文本着色显示
?-v: 显示不被pattern匹配到的行
?-i: 忽略字符大小写
?-n:显示匹配的行号
?-c: 统计匹配的行数
?-o: 仅显示匹配到的字符串
?-q: 静默模式,不输出任何信息
?-A #: after, 后#行
?-B #: before, 前#行
?-C #:context, 前后各#行
?-e:实现多个选项间的逻辑or关系
grep –e ‘cat ’ -e ‘dog’ file
?-w:匹配整个单词
?-E:使用ERE
?-F:相当于fgrep,不支持正则表达式

分析文本的工具

文本数据统计:wc

收集文本统计数据wc
?计数单词总数、行总数、字节总数和字符总数
?常用选项
?-l 只计数行数
?-w 只计数单词总数
?-c 只计数字节总数
?-m 只计数字符总数
?-L 显示文件中最长行的长度

整理文本排序sort

?把整理过的文本显示在STDOUT,不改变原始文件
sort [options] file(s)
?常用选项
?-r 执行反方向(由上至下)整理
?-R 随机排序
?-n 执行按数字大小整理
?-f 选项忽略(fold)字符串中的字符大小写
?-u 选项(独特,unique)删除输出中的重复行
?-t c 选项使用c做为字段界定符
?-k X 选项按照使用c字符分隔的X列来整理能够使用多次文本:sort

uniq 删除相邻的重复行合并一个行

  • -c 显示有几个相邻的行合并成一个
  • -u 仅显示不曾重复的行

比较文件:diff

比较两个文件之间的区别

练习
1、找出ifconfig “网卡名” 命令结果中本机的IPv4地址
ifconfig eth0 |head -2 |tail -1 |tr -s " " : |cut -d: -f4
2、查出分区空间使用率的最大百分比值
df |tr -s " " : |cut -d: -f5 |sort -n |tail -n1
3、查出用户UID最大值的用户名、UID及shell类型
cat /etc/passwd |cut -d: -f1,3,7  |sort -t: -k2 -nr |head -n1
4、查出/tmp的权限,以数字方式显示
stat /tmp |head -n4 |tail -n1 |cut -d " " -f2 |cut -d / -f1 |tr -d "("
5、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
远程主机| sort -r | unip -c |sort -nr

 



















































以上是关于文本处理工具的主要内容,如果未能解决你的问题,请参考以下文章

源代码管理工具GitHub介绍

软输入键盘隐藏编辑文本

Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示(代码片段

音频处理Melodyne 选择工具使用 ( 主工具简介 | 修改音高 | 自动吸附 | 音符长度修改 | 长度自动吸附 | 设置音符分离线 | 设置片段分离线 )

工具栏视图引用从对话框片段返回后变为空

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”