参考资料
练习题 icon lost
交流讨论
我的笔记
专栏课程

一、查看文件内容

1、查看文件类型

file命令: 能够探测文件的内部,并决定文件是什么类型的。
用法:file [path]my_file
my_file如果是目录,file命令会显示 "my_file : directory"。如果是文本文件,会显示"my_file: 文件的字符编码 text"。如果是符号链接的文件,会告诉你它链接到哪个文件上。如果是二进制可执行程序,file命令能够确定该程序编译时所面向的平台以及需要何种类型的库。

2、查看整个文件

⑴ cat 命令
用法:cat [文件列表]
参数:-n 或 --number:由 1 开始对所有输出的行数编号
           -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
           -E 或 --show-ends : 在每行结束处显示 $。
           -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
           -A, --show-all:等价于 -vET。

⑵ more 命令
用法:more [+数字] [-数字] file
以全屏幕的方式按页显示文本文件的内容,如果带上了参数 '+数字' 表示从该行开始显示,参数 '-数字'指定每屏显示的行数。Enter向下滚动一行,空格或f 向下滚动一屏,b向上滚动一屏,q退出。

⑶ less 命令
less指令是基于more指令和vi指令实现的,更可以使用"前后左右"来查看文件内容,用PageUp键向上翻页,用PageDown键向下翻页,=输出文件名和当前行的行号等信息。
在使用less指令查看文件内容时,如果希望不退出less指令就能够执行shell中的其他指令,可以使用 "!command"的方式,直接执行指令,执行结束后自动返回less指令。
指令运行过程中,按"h"键显示less的快捷键帮助。
可以在":"提示符下输入查找的关键字(先输入/,后输入关键字,最后回车),以实现快速定位。

3、查看部分文件

⑴ tail 命令
用于输出文件中的尾部内容。

⑵ head 命令
用法:head [选项] [文件列表]
用于显示文件的开头部分的内容。
参数-n<行数>指定显示头部内容的行数,默认10行;-c<字符数>指定显示头部内容的字符数。

二、处理文件

1、创建空文件

touch命令:touch new_file

2、过滤文件内容

⑴ grep 命令
用法:grep [选项] [匹配模式] file
按照某种匹配规则搜索指定的文件,并将符合匹配条件的行输出。
选项:-v搜索不含指定字符串的行,-x整行匹配,-c 统计符合匹配模式的行数,-E 用来扩展选项为正则表达式。

⑵ cut 命令
用法:cut [选项] [文件]
指令显示行中指定部分,删除文件中的指定字段。
选项: [-d “分隔符”]指定字段的分隔符,默认的字段分隔符为"TAB"。
[-f 起始字段位置-结束字段位置]显示指定的字段内容,第一个字段就是1。只显示一个字段时,直接写相应的位置即可。

3、统计文件内容

wc命令:wc [选项] [文件列表]
统计文件的行数、单词数和字符数。
选项:-l 打印总行数。
注意:在windows下,文件的最后一行不会自动添加换行符。用wc统计的时候,会发现比实际少了一行。使用换行符‘\n’作为行结束标志,实际是统计换行符个数。

4、对文件内容进行排序

sort命令:sort [选项] [文件列表]
-c检查文件是否已经按照顺序排序;
-n按照数值的大小排序;
-o<输出文件>:将排序后的结果存入指定的文件;
-t<分隔字符>:指定排序时所用的栏位(列)分隔字符(如果分隔字符是制表符,放在字符串中时,正常写即可,否则,在前面加上$);
-r是以相反顺序;
-u在输出行中去除重复行(只考虑用来排序的行);
-b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较;
-k<start,end>:指定需要排序的列,start和end都是数字,start又分为3个部分(选项[bdfinr]、排序列、开始的位置),end默认到本域结束。-k可以出现多次,代表多列排序(第一个是主排序)。数字列如1.2表示对第一个域的第二个字符开始到本域的最后一个字符为止的字符串进行排序;1.2,1.2表示只按第一个域的第二个字符进行排序;
sort将文件/文本的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。

资料来源 Linux查看文件内容与处理文件
博客作者 鹏鹏俊玲
前往答题
发布见解