文本处理工具(一)

文本处理工具

查看工具

cat;tac;rev;more

cat

连接文件,并打印到标准输出上。

注意:当文件比较大的时候,文本在屏幕上一闪而过,导致无法看清内容,所以对于较大的文件建议结合着more,less等命令结合来用。

使用方法:

-E: 显示行结束符$
-n: 对显示出的每一行进行编号  空行也加行号
-A:显示所有控制符  相当于-ETV
-b:非空行编号  
-s:压缩连续的空行成一行
-v:非打字符
     显示^M等这些非打印字符      
-T:显示制表符 ^I(tab键)

快捷键:

^s 停止滚屏
 ^q 恢复滚屏
 ^c 中断命令

示例: cat 1.log 2.log >3.log 把文件1.log和2.log合并打印到3.log并且是按文件顺序合并。 #cat合并

nl命令相当于cat -b 同样可以显示非空行的编号,有空格也不算非空行。nl是一条命令而不是别名可以用man 查看

文本处理工具(一)

tac 显示的效果与cat相反,是行相反,就是第一行会变为最后一行。tac也是一条命令不是别名。

文本处理工具(一)

rev 是倒叙显示的一种命令,我们通常来讲是翻转,他把每一行的字符反过来显示,但是行还是不变的。

文本处理工具(一)

more

分页查看文件

使用方法:

-c:显示前几行
   more -c  -5 passwd
-d: 显示翻页及退出提示
   more -cd -10 passwd

文本处理工具(一)

在加管道的情况下,centos7.3不能翻页,但是6.9可以用^b进行翻页

less

一页一页地查看文件,跟more比较相似,但是less系统默认允许向前先后翻页,该命令只对文本文件有效,或者是搜索。

pageup 向上
pagedown 向下

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

当正在浏览一个文件时,也可以使用 :e命令 打开另一个文件。

默认分页显示结束的时候也不会退出显示,需要用Q退出。

常用选项:

-e 文件内容显示结束自动关闭
-N 显示每行的行号
-s 将连续的空行压缩成一行显示

文件行列操作工具

paste 合并两个文件同行号的列到一行

一般会与diff命令一起使用来修复文件

-d 分隔符:指定分隔符,默认用TAB
-s : 所有行合成一行显示
paste f1 f2
paste -s f1 f2

示例 #paste

head

显示文件前几行(默认显示是)行

-c #: 指定获取前#字节
-n #: 指定获取前#行
-#:指定行数

显示文件的前两行

文本处理工具(一)

并且可以显示文件的前几个字节,当文件内容是汉字的时候,一个汉字会占到三个字节。

文本处理工具(一)

tail 显示后几行,用法跟head一样默认也是显示后十行。

-c #: 指定获取后#字节
-n #: 指定获取后#行
-#:
-f: 跟踪显示文件新追加的内容,常用日志监控  
   后加

tail可以跟head向结合取特定的某一行 #特定行

当tail-f用于跟踪日志的时候可以加&让监控放到后台运行,不影响其他操作,什么时候有更新会自动弹出来提醒。

cut 用来剪切某一列

-d DELIMITER: 指明分隔符,默认tab
-f FILEDS:
#: 第#个字段
#,#[,#]:离散的多个字段,例如1,3,6
#-#:连续的多个字段, 例如1-6
混合使用:1-3,7
-c按字符切割
--output-delimiter=STRING指定输出分隔符

通常与tail,head,tr,cat等命令配合使用查询某一个特定的数据。
比如查看磁盘的利用率

文本处理工具(一)

有一个文件是存随机字符串的 /dev/urandom 我们也可以从中提取出来一些字母数字做为口令用,但是文件里包含的也有特殊符号,所以要过滤一样再获取。

文本处理工具(一)

这是生成10位的口令

分析工具

在分析的工具中,最为普遍的就是数据统计(wc)和整理文本的(sort)。当然也少不了一些对比的工具,比如diff和patch。

wc

统计单词总数、行总数、字节总数和字符总数。

文本处理工具(一)

第一个代表行数,第二个代表单词数,第三个代表字符总和。

也可以特殊的选项来显示不同的统计:

使用-l来只计数行数
使用-w来只计数单词总数
使用-c来只计数字节总数
使用-m来只计数字符总数

sort 把文件按照一定的方式整理打印到标准输出上,不改变原始文件。

常用选项:

-r执行反方向(由上至下)整理
-n执行按数字大小整理
-f选项忽略(fold)字符串中的字符大小写
-u选项(独特,unique)删除输出中的重复行
-t c选项使用c做为字段界定符
-k X选项按照使用c字符分隔的X列来整理能够使用多次

一般-k -t会配合使用按照某一列来排序

以:为分割符,把第三列按数字大小排序

文本处理工具(一)

最后要提一下文件中使用的两个命令,patch和diff。diff命令输出常被保存做成补丁的文件

diff 比较两文件内容之间的区别

文本处理工具(一)

比较这里两文件之后的显示 他明确的指出来第几行,并进行比较。

通常diff与patch一起使用,为程序打补丁。

diff-ufoo.conf-brokenfoo.conf-works>foo.patch

把差异写到补丁文件中

patch-bfoo.conf-brokenfoo.patch

用补丁文件对数据恢复或更改

patch复制在其它文件中进行的改变(要谨慎使用),适用-b选项来自动备份改变了的文件。

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

(0)
phosphorphosphor
上一篇 2017-06-01
下一篇 2017-06-01

相关推荐

  • 用户组和权限管理知识总结

    在介绍本期内容之前呢,有一个小插曲.就是由于昨天晚上我没有正常关闭虚拟机,今天早上打开的时候一直显示正在使用中,弹 出来个小框框,如下图,马赛克部分呢就是提示的路径,安装路径不一样,提示的就也不一样. 此虚拟机似乎正在使用中。 如果此虚拟机已在使用中,请按“取消”按钮,以免损坏它。如果此虚拟机未使用,请按“取得所有权(T)”按钮以获取它的所有权。&…

    2017-07-28
  • OpenSSL 的使用详解

    OpenSSL 是一个开源项目,其组成主要包括一下三个组件:     openssl:多用途的命令行工具     libcrypto:加密算法库     libssl:加密模块应用库,实现了ssl及tls openssl可以实现:秘钥证书管…

    Linux干货 2016-09-23
  • 企业面试题

    要求: 将一下数据进行排序(字母部分已小到大排序) 101.37.8.249 wz417-419/wz119-125/wz7-16/wz571/wz544/wz1-6101.37.21.19 wz545/wz453-456/wz441-444116.62.4.21 wz106-118/wz514-516/wz581/wz190-199/wz572101.37…

    Linux干货 2017-06-27
  • N26-博客作业-week6

    vim:Vi IMprove 基本模式:编辑模式,命令模式输入模式末行模式 打开文件: vim [option] [file…] +#:打开文件后,直接让光标处于第#行的行首+/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首 模式转换:编辑模式:默认模式编辑模式 –> 输入模式:i:insert…

    Linux干货 2017-03-12
  • 初来乍到

    坐上了去往北方的火车,我不知道自己为什么会颤抖,也许是耳朵里那首汪峰的《北京,北京》震撼到了我,接着满脑子便是灯红酒绿的大街道和浮华的高楼大厦,我幻想着有一天能在这样的大城市中闯出一片天。梦醒了 ! 30个小时的路程确实是让我满脑子都是未来的自己。 对于我这个从来没有见过世面的人来说,第一次来到北京这座一线大城市,内心充满着无比的欣喜和激动,但更多的还是那份…

    Linux干货 2018-03-26
  • N26-第八周作业-邢岩

    马哥门徒-N26-邢岩 1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;      在线的主机使用绿色显示;      不在线的主机使用红色显示; #!/bin/bash # Author: jeque# Des…

    2017-03-24