目录

文件查看:

cat

 rev

分页查看文件内容:

more

 less

显示文本前或者后行的内容

head

tail

 按列抽取文本cut和合并文件paste

cut 

 paste

 分析文本的工具

收集文本统计数据wc

文本排序sort

uniq


在Linux中有许多可以抽取文本的工具,熟悉掌握这些使用的小工具,能极大的提高工作效率。下面对这几个工具做简单介绍。

文件查看:

常用的文件查看命令有:cat、tac、rev

cat

cat是Linux下一个文本输出命令,通常用来查看某个文件的内容。

格式:cat [OPTION]... [FILE]...

cat常用的三种功能:

1、用于查看完整的文件内容。在cat后直接跟要查看的文件名,即可查看该文件内容。例如下图:查看/etc/passwd

2、利用重定向>,可用于创建新文件。(仅适用于创建之前不存在的新文件,不能编辑存在的文件)。例如下图:创建新文件file23,并写入hello world!

3、可以将几个文件合并成一个文件。 例如下图:将文件f1和file123合并成一个文件,并将合并后结果保存到test文件中。

常用参数:

-E:显示行结束符$

-n:对显示的结果每一行编号

-A:显示所有控制符


-b: 非空行编号


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

tac

和cat作用相同,但是结果上下反方向显示。例如下图test1文件。

 rev

rev命令将文件中的每行内容以字符为单位反序输出,即第一个字符最后输出,最后一个字符最先输出,依次类推。例如下图file123文件。

分页查看文件内容:

more

more命令可以分页查看文件文件,左下角会显示当前显示距离文末的百分比,通过空格键可以每次向下显示一屏内容,回车键每次向下翻一行。按q键可以退出。

命令格式:more [OPTIONS...] FILE...

 less

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


使用 “/ 文本” 可以搜索文件中符合要求的文本并且,使用n/N 可以跳到下一个 或 上一个匹配
less 命令是man命令使用的分页器

显示文本前或者后行的内容

head命令用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。

-c#:指定获取前#个字节。例如下图:获取etc/passwd文件中前10个字符。

 

-n#:指定获取前#行。例如下图:获取、etc/passwd文件中前三行。

 

tail

tail 用于显示文件的结尾的内容。在默认情况下,head命令显示文件的末尾10行内容。

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


-n #: 指定获取后#行

 

-f: 跟踪显示文件fd新追加的内容,常用日志监控。相当于 --follow=descriptor

 按列抽取文本cut和合并文件paste

cut 

cut命令用来显示行中的指定部分,删除文件中指定字段。

-d  DELIMITER: 指明分隔符,默认tab
-f FILEDS:
      #: 第#个字段
      #,#[,#]:离散的多个字段,例如1,3,6
      #-#:连续的多个字段, 例如1-6

例如,截取、etc/passwd文件中的用户名和对应的shell类型

 paste

paste命令用于将多个文件按照列队列进行合并。

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

 分析文本的工具

收集文本统计数据wc

计数单词总数、行总数、字节总数和字符总数
可以对文件或STDIN中的数据运行
常用选项
-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列来整理能够使用多次

uniq

uniq命令:从输入中删除前后相接的重复的行
uniq [OPTION]... [FILE]...
-c: 显示每行重复出现的次数
-d: 仅显示重复过的行
-u: 仅显示不曾重复的行
注:连续且完全相同方为重复
常和sort 命令一起配合使用:
sort userlist.txt | uniq -c
 

 

Logo

更多推荐