文本处理工具
2019-07-31 19:06
13 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wdirdo/article/details/97948995
文本处理工具
1、文本内容:cat、more、less…
2、文本截取:head、tail…
3、按列抽取:cut…
4、排序和统计:sort、wc…
1、文本内容:cat、more、less…
1)cat
- cat - concatenate files…连接文件并打印内容至STDONT
- cat --help - Usage: cat [OPTION]… [FILE]…
options: -A:相对于-EvT,显示所有控制符 -n:STDOUT的所有行添加行号 -b:非空行添加行号 -s:压缩STDOUT中的连续空行 -E:显示行尾的$符 example: [root@centos6 data]#cat -A f1 1$ $ 2^Ia^Ib$ $ $ 3$
2)tac
- tac与cat用法功能相同,显示内容区别
tac 与 cat 显示的内容相反,相对于x轴对称
3)rev
- rev - reverse lines of a file or files反向行…
rev 显示的内容与实际内容关于y轴对称
4)nl
- nl - number lines of files 文件行数
5)hexdump
- hexdump - ascii,十进制,十六进制,八进制转储
[root@centos7 tmp]# echo abc > f2 [root@centos7 tmp]# hexdump f2 0000000 6261 0a63 0000004 [root@centos7 tmp]# hexdump -C f2 00000000 61 62 63 0a |abc.| 00000004
6)xxd
- xxd - 创建给定文件或标准输入的十六进制转储
option: -b 用二进制显示一个bit -r 还原;十六进制作为输入,二进制作为输出 配合vim编辑修改二进制文件: ①以二进制方式打开文件 vim -b filename ②底行模式利用xxd转化为可读的十六进制 :%!xxd ③插入模式,编辑二进制文件 ④底行模式还原回二进制 :%!xxd -r
7)more
- more - 一次筛选一屏的过滤器
- -d: 显示翻页及退出提示
8)less
- less - 比more更强大的过滤器
- 获取man帮助手册时使用的分页器就是less
2、文本截取:head、tail
1)head
- head - 打印文件的开始部分至STDOUT
- Usage: head [OPTION]… [FILE]…
options: -c:打印前多少字节 -n # | -# :打印前面#行,默认10行 example: 截取随机密码: [root@centos7 tmp]# cat /dev/urandom | tr -dc [:alnum:] | head -c 12
2)tail
- tail - 打印文件的末尾部分至STDOUT
- Usage: tail [OPTION]… [FILE]…
options: -c:打印末尾最后多少字节 -n # | -# :打印前面#行,默认10行 -f:跟踪的是fd,常用于日志监控 -F:跟踪文件名,相当于--follow=name --retry tailf:类似tail -f,当文件不增长时并不访问文件 example: tail -f 跟踪的是fd [root@centos7 tmp]# ll /proc/`pidof vim`/fd ...(部分显示)找到打开文件的文件描述符(fd) lrwx------. 1 root root 64 Jul 27 17:29 4 -> /data/tmp/.f2.swp tail -F 跟踪文件名示例: ----------------------------------------------------------------- 终端/dev/pts/1 显示追踪 [root@centos7 tmp]# tty /dev/pts/1 [root@centos7 tmp]# tail -F f2 abc pdd tail -F 删除正在监控的文件,仍处于监控状态 tail: ‘f2’ has been replaced; following end of new file xxd 终端/dev/pts/0 是f2发送改变 [root@centos7 tmp]# tty /dev/pts/0 [root@centos7 tmp]# echo pdd >>f2 [root@centos7 tmp]# rm -f f2 删除正在监控的文件 [root@centos7 tmp]# echo xxd >> f2 之后创建f2并更新内容 ----------------------------------------------------------------- 综上:tail -F 跟踪的是文件名
3、按列抽取:cut
- cut - 从文件或STDIN中读取内容并截取每行特定的部分打印至STDOUT。
- Usage: cut OPTION… [FILE]…
option: -d:指定分隔符,默认tab -c:以字符为单位进行分割 -b:以字节为单位进行分割 -f FIELD:显示指定的field --output-delimiter=STRING:指定输出分隔符
4、排序和统计:sort、wc
1)wc
- wc - 统计文件的行数,单词数,字节数,字符数;支持STDIN
- wc [OPTION]… [FILE]…
option: -l:只显示行数 -w:只显示单词数 -c:只显示字节数 -m:只显示字符数 -L:显示文件中最长行的长度 字符与字节的区别: 在UTF-8编码中,一个汉字和一个字母对应字节数不相同 eg:“ 我 ”这个汉字占3个字节,为一个字符
2)sort
- sort - 将文件内容排序后打印至STDOUT,支持STDIN
- sort [OPTION]… [FILE]…
option: -r:输出结果反向打印 -R:随机排序 -t c:使用c做为字段界定符 -k X:按照使用c字符分隔的X列来整理能够使用多次 -n:按照数值大小排序 -f:选项忽略字符串中的大小写 -u:去重行
3)paste
- paste - 把多个文件对应行合并为一行,以cut相反;支持STDIN
- Usage: paste [OPTION]… [FILE]…
option: -d:指定分隔符,默认tab -s:一次输出一行而不是并行输出,相当于内容转置(但只能竖转横) example: [root@centos7 test]#seq 3 | paste -d ' ' -s f2 [root@centos7 test]# seq 3 1 2 3 [root@centos7 test]# seq 3 |paste -s 1 2 3 [root@centos7 test]#
4)uniq
- uniq - 删除重行;支持STDIN
- Usage: uniq [OPTION]… [INPUT [OUTPUT]]
option: -c:显示每行重复出现的次数 -d:仅显示重复过的行 -u:仅显示不重复的行(去掉重复过的行)
5)diff
- diff - 逐行比较两个文件
- diff [OPTION]… FILES
6)patch
- patch - 复制在其它文件中进行的改变(要谨慎使用)
- Usage: patch [OPTION]… [ORIGFILE [PATCHFILE]]
- patch命令用于为特定软件包打补丁,diff命令可以生成补丁文件
example: diff -u;patch -b(恢复文件时备份原文件) f1.txt;f2.txt;diff.txt为f1.txt和f2.txt的比较文件;三个文件可以知二求一 [root@centos7 test]# diff -u f1 f2 > diff.txt [root@centos7 test]# rm -f f2 [root@centos7 test]# patch -b f1 diff.txt [root@centos7 test]# ls diff.txt f1 f1.orig 此时可恢复删除的f2文件,但patch命令默认是直接覆盖将f2 的内容直接覆盖至f1,-b可将f1原内容进行备份。
相关文章推荐
- 几个简单的文本处理工具:diff,patch,grep,cut,sort,tr
- 简单文本处理小工具
- python文本处理常用工具代码(一)
- 练习题之文本处理工具及正则表达式
- Linux--shell脚本之文本处理工具
- 2017-12-9Linux基础知识(16)文本处理工具
- 文本深度表示模型Word2Vec 简介 Word2vec 是 Google 在 2013 年年中开源的一款将词表征为实数值向量的高效工具, 其利用深度学习的思想,可以通过训练,把对文本内容的处理简
- Linux基础_文本处理工具
- Linux常用文本处理小小小工具
- 3.3.1 常用文本的处理工具
- 2017-7-12 文本处理工具
- 一个很好用的文本处理工具——Notepad++ 快捷键
- Linux 文本处理工具
- linux之文本处理工具
- 【Linux相识相知】文本处理工具之grep\egrep\fgrep及正则表达式
- Linux基础命令:文本处理工具之sort
- 高性能JSON工具-FastJson处理超大JSON文本
- 9 处理文本的工具sed
- linux 文本处理工具之一grep命令详解
- Pyp 替代sed,awk的文本处理工具