文件内容处理
查看
基本显示:cat、tac
- cat:由第一行开始显示文件内容
- tac:从最后一行开始显示
cat选项 | 含义 |
---|---|
-A | 相当于-vET的整合选项,可列出一些特殊字符而不是空白而已 |
-v | 列出一些看不出来的特殊字符 |
-E | 将结尾的断行字节$显示出来 |
-T | 将【tab】按键以^|显示出来 |
-b | 列出行号,空白行不标行号 |
-n | 列出行号,连同空白行也会有行号 |
显示行号:nl
- nl:显示的时候,顺带输出行号
nl选项 | 含义 |
---|---|
-b a | 表示不论是否为空行,也同样列出行号(类似cat -n) |
-b t | 如果有空行,空的那一行不要列出行号(默认值) |
-n ln | 左对齐,行号在荧幕的最左方显示 |
-n rn | 右对齐,行号在自己栏位的最右方显示,且不加0 |
-n rz | 右对齐,行号在自己栏位的最右方显示,且加0 |
-w | 行号栏位的占用位数 |
分屏显示:more,less
- more:一页一页地显示文件内容
- less:一页一页地显示文件内容,并且可以往前翻页
more运行时输入的命令 | 含义 |
---|---|
空键 | 向下翻一页 |
enter键 | 向下翻一行 |
/字符窜 | 在当前显示内容中,向下搜索【字符串】这个关键字 |
:f | 立刻显示出档名以及目前显示的行数 |
q | 退出 |
b或Ctrl+b | 往回翻页,只对文件有用,对管线无用 |
less运行时输入的命令 | 含义 |
---|---|
空键 | 向下翻一页 |
PageDown | 向下翻一页 |
PageUp | 向上翻一页 |
/字符串 | 向下搜索【字符串】 |
?字符串 | 向上搜索【字符串】 |
n | 重复前一个搜寻 |
N | 反向的重复前一个搜寻 |
q | 退出 |
取首尾n行:head、tail
- head:只看头几行
- tail:只看尾巴几行
head选项 | 含义 |
---|---|
-n | 后接数字,代表显示几行(默认显示前10行) |
tail选项 | 含义 |
---|---|
-n | 后接数字,代表显示几行(默认显示最后10行) |
-f | 表示持续侦测后面所接的档名,要等到按下Ctrl+c才会结束tail的侦测 |
管道加工
| :管道
管道:一个命令的输出可以通过管道作为另一个命令的输入,通过它可以对数据进行连续处理。
注意:
- 管道命令仅处理标准输出,对于标准错误输出,将忽略
- 管道命令右边命令,必须能够接收标准输入流命令才行,否则传递过程中数据会抛弃。
- 常用来作为接收管道数据的命令有:less,more,head,tail,而ls,cp,mv就不行。
wc:统计字数
wc选项 | 含义 |
---|---|
-l | 统计行数 |
-w | 统计英文单词 |
-m | 统计字符数 |
cut:列选取命令
cut选项 | 含义 |
---|---|
-d | 后面接分隔符,与-f一起使用 |
-f | 依据-d的分隔字符将一段信息分割成为数断,用-f取出第几段的意思 |
-c | 以字符的单位取出固定字符区间 |
grep:行选取命令
注意:在grep命令中输入字符串参数时,最好引号或双引号括起来。
grep选项 | 含义 |
---|---|
-v | 显示不匹配的行(相当于求反) |
-n | 显示匹配行及行号 |
-i | 忽略大小写 |
-c | 计算找到的行数 |
-s | 不显示错误信息 |
grep常用正则表达式 | 含义 |
---|---|
^a | 行首,搜寻以a开头的行;grep –n ‘^a’ 1.txt |
ke$ | 行尾,搜寻以ke结束的行;grep· -n ‘ke$’ 1.txt |
[Ss]igna[Ll] | 匹配【】中一系列字符中的一个;搜寻匹配单词signal,signaL,Signal,SignaL的行;grep –n ‘[Ss]igna[Ll]’ 1.txt |
. | 。匹配一个非换行符的字符;grep –n ‘e.e’ 1.txt,可以匹配eee,eae,eve,但是不匹配ee,eaae; |
* | 匹配零个或多个先前字符 |
[^] | 匹配一个不在指定范围内的字符 |
\ | 转义 |
\< | 锚定单词的开头 |
\> | 锚定单词的结束 |
x\{m\} | 重复字符x,m次 |
x\{m,\} | 重复字符x,至少m次 |
x\{m,n\} | 重复字符x,至少m次,不多于n次 |
\w | 匹配文字和数字字符,也就是[A-Za-z0-9] |
\b | 单词锁定符 |
\(..\) | 标记匹配字符 |
sort:排序
注意:sort默认是以第一个字符升序排序
sort选项 | 含义 |
---|---|
-f | 忽略大小写 |
-b | 忽略最前面的空格符部分 |
-M | 以月份的名字来排序 |
-n | 使用纯数字进行排序(默认是以文字型态来排序的) |
-r | 反向排序 |
-u | 就是uniq,相同的数据中,仅出现一行代表 |
-t | 分隔符,默认是用tab键来分隔 |
-k | 以哪个区间来进行排序 |
uniq:去重
注意:uniq命令主要用于排完序后,对排序结果进行去重
uniq选项 | 含义 |
---|---|
-i | 忽略大小写 |
-c | 进行计数 |
-u | 只显示唯一的行 |
重定向
> :输出重定向
>可将本应该显示在终端上的内容保存到指定文件中。(若文件不存在,则创建;存在,则覆盖其内容。)
>>也是输出重定向,与 > 不同在于,> 会覆盖文件内容,而 >> 会在文件尾部追加。
tee:同时输出多个文件
tee选项 | 含义 |
---|---|
-a | 附加到既有文件的后面,而非覆盖它 |
重定向用例
正则表达式
字符 | 含义 |
---|---|
. | 任意一个字符 |
a* | 任意多个a(零个或多个) |
a? | 零个或一个a |
a+ | 一个或多个a |
.* | 任意多个任意字符 |
\ | 转义 |
\<h.*p\> | 以h开头,p结尾的一个单词 |
o\{2\} | o重复2次 |