cat 查看文本文件
命令功能:
cat主要有三大功能:
1.一次显示整个文件:cat filename
2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件:cat file1 file2 > file
-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-E :将结尾的断行字符 $ 显示出来;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符 grep -v '自己设定'
-n :打印出行号,连同空白行也会有行号,与 -b 的选项不同;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-s: 当遇到有连续两行以上的空白行,就代换为一行的空白行
rev:cat所显示的内容每行内倒着显示
tac 作用等同于cat,不过是倒叙显示cat的内容
优点:如果行数太多,用cat在屏幕上不会完整显示,需要配合more和less,假如我们所要看的内容在文本的后面,使用tac就会方便很多了
more:分页查看文件 more [OPTIONS…] FILE… 只能向下翻,不能向上翻·空格键:代表向下翻一页;
·Enter :代表向下翻一行;
·/字符串 :在显示的内容中,向下搜寻“/”后面的这个关键词;
·q :代表立刻离开 more ,不再显示该文件内容。
less :一页一页地查看文件或STDIN 输出,支持向上,向下翻页
·空格键 :向下翻动一页;
·pagedown:向下翻动一页;
·pageup :向上翻动一页;
·/字符串 :向下搜寻『字符串』的功能;
·?字符串 :向上搜寻『字符串』的功能;
·n :重复前一个搜寻 (与 / 或 ? 有关!)
·N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
·g :前进到这个资料的第一行去;
·G :前进到这个数据的最后一行去 (注意大小写);
·q :离开 less 这个程序;
head 取出文件前n行,默认10行
-c #:指定获取前# 字节
-n #:指定获取前#行
tail 取出文件后n行,默认10行
-c #: 指定获取后# 字节
-n #: 指定获取后#行
-f: 跟踪显示文件新追加的内容, 常用日志监(/var/log/messages 随时会有数据写入,想让该文件有数据写入时就立刻显示到屏幕上, 就利用 -f 这个选项,他可以一直侦测/var/log/messages 这个文件,新写入的数据都会被显示到屏幕上。 crtl-c 离开
练习:显示 /etc/man_db.conf 的第 11 到第 20 行
cut 在指定的行中,按列切割,取出所需的字段
-d : 指明分隔符,默认tab
-f :
#: 第# 个字段
#,#[,#] :离散的多个字段,例如1,3,6
#-# :连续的多个字段, 例如1-6
混合使用:1-3,7
-c 按字符切割
–output-delimiter=STRING
显示文件或STDIN 数据的指定列
wc [- – lwm]
-l :仅列出行;
-w :仅列出多少字(英文单字);
-m :多少字符;
练习
知道使用 last 可以输出登入者,但是 last 最后两行并非账号内容,那么请问,该如何以一行指令串取得登入系统的总人次?
grep
–color=auto: 对匹配到的文本着色显示;
-v: 显示不能够被pattern 匹配到的行;
-i: 忽略字符大小写
-n:显示匹配的行号
-c: 统计匹配的行数
-o: 仅显示匹配到的字符串;
-q: 静默模式,不输出任何信息
-A # :after, 后#行 行
-B #: before, 前#行 行
-C # :context, 前后各#行 行
-e :实现多个选项间的逻辑or 关系 grep –e ‘cat ’ -e ‘dog’ file
-w :整行匹配整个单词
-E :使用ERE
sort把整理过的文本显示在STDOUT ,不改变原始文件 sort [options] file(s)
-r 执行反方向(由上至下)整理
-n 执行按数字大小整理
-f 选项忽略(fold )字符串中的字符大小写
-u 选项(独特,unique )删除输出中的重复行
-t c 选项使用c 做为字段界定符
-k X 选项按照使用c 字符分隔的X
uniq:从输入中删除重复的前后相接的行 uniq [OPTION]… [FILE]…
-c: 显示每行重复出现的次数;
-d: 仅显示重复过的行;
-u: 仅显示不曾重复的行;
连续且完全相同方为重复
常和sort 命令一起配合使用:
sort userlist.txt | uniq -c
英文大小写 |
[:alpha:] |
英文小写 | [:lower:] |
英文大写 | [:upper:] |
数字 | [:digit:] |
数字+英文大小写 | [:alnum:] |
space,tab 两键 | [:blank:] |
键盘上控制键 CR, LF, Tab, Del.. | [:cntrl:] |
除了space和tab外的所有键 | [:graph:] |
标点符号 | [:punct:] |
字符匹配:
. : 匹配任意单个字符;
[] :匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
位置锚定:定位出现的位置
^ :行首锚定,用于模式的最左侧
$ :行尾锚定,用于模式的最右侧
^PATTERN$: 用于模式匹配整行
^$: 空行
^[[:space:]]*$ :空白行
\< 或 \b :词首锚定,用于单词模式的左侧
\<PATTERN\>:匹配整个单词
# grep -n '0*' regular_express.txt
# grep -n '00*' regular_express.txt
# grep -n '000*' regular_express.txt
原创文章,作者:wutianyou,如若转载,请注明出处:http://www.178linux.com/29521