Linux的文本操作命令和正则表达式:1、文本文件操作命令:文本文件操作命令catcat是concatenate的缩写,所以它的作用实际上是连接文件。但默认情况下,它将连接文件的结果发送到标准输出。所以我们经常用它来显示文件的内容。类似于输入dos。参数:-n或--number从1开始对所有输出行进行编号-b或--number-nonblank与-n类似,只是遇到空行不编号-s或--squeeze-blank如果有超过两个连续的空行,用一个空行替换-v或--show-nonprinting#cat/etc/passwd查看用户账户文件more当文件内容超过一屏时,我们可以使用more这个命令逐屏查看文件内容。#moreinstall.log查看install.log文件less在more的基础上,可以逐行查看,来回翻页。#less/etc/shadow查看用户密码文件headhead显示文件开头,默认显示前十行。节日。-nN输出文件的前N??行。-q不输出有关文件名的信息。-v输出有关文件名的信息。--help在stdout上打印帮助并退出。--version在标准输出上输出版本信息并退出#head/etc/mail/sendmail.mc默认查看文件前10行#head–n20/etc/passwd查看文件前20行tailtail显示文件结尾内容,命令用法同head,参数-f显示文件的文档更新,用于监控日志文件。tail默认显示文件列表中每个文件的最后10行。如果没有文件名或者文件名是“-”,则从标准读取文件中输入,如果有多个文件,会在前面加上“==>文件名<==”文件来区分。-cN显示文件的N位部分,N后面可以跟bkm参数。b512位块。k1k块。m1M字节块。-f如果文件的大小在增长,tail会跟随文件的增长。-l,-nN显示文件的最后N行。-v始终以“==>文件名<==”的形式输出文件。--help在stdout上显示帮助并退出。--version在stdout上打印版本信息并退出。#tail/etc/mail/sendmail.mc默认查看文件最后10行#tail–n20/etc/passwd查看文件最后20行注意:#tail–f/var/log/messagemonitors日志文件实时更新信息,非常重要2.正则表达式:正则表达式。表示任何单个字符。*表示零或任意字符^a表示以a开头的行$表示以a结尾的行[^abc]表示a、b、c以外的字符a*表示空、a、aa、aaa等等aa?表示一个或零个单aa+表示a、aa、aaa甚至更多aa{n}表示重复n次3.对文本的操作:对文本的操作diffdiff用于比较两个文件之间的差异发送到标准输出。输出的时候先报告两个文件哪一行不一样。基本格式:diff[-wV][-n<文件名长度>][-p<文件名长度>]参数:-a将所有文件视为文本文件。-b忽略由空格引起的差异。-B忽略空行造成的差异。-q只报告不同之处,而不是具体信息。-c使用大纲输出格式。-e以ed可以编辑的格式输出。-f输出类似于-e的反向格式。-H使用启发式方法来加速大文件的搜索。-I忽略大小写的变化。-l使用pr对输出进行分页。-n以RCS格式输出。-r比较目录时比较所有子目录。-v在标准输出上打印版本信息并退出。uniq用于删除文本中相邻的重复行。-u参数只能显示那些没有重复的行。-d显示重复的行。cutcut可以将文本按照指定的标签(默认是tab)分列,然后显示这一列。访问权限:所有用户基本格式:cut-cnum1-num2filename说明:显示从每行开头开始计算的从num1到num2的文本。[root@uplookingroot]$cut–f1–d:/etc/shadow表示使用:作为分隔符,显示/etc/shadow的***列sortsort用于根据各种需要重新排列文本,一般为之后在管道中使用。例如:$ls-a|grep狂欢|排序$ls-a|grep狂欢|sort-r默认情况下,sort按字母顺序对文本进行排序。-n按数字排序-r反向排序-u去除重复行wcwc用于统计一个文件的行数、字数、字数,并输出到标准输出。也可以使用-l(行数)、-w(字数)、-c(字数)指定输出内容。wc[parameters]file-c仅输出字节数。-w只输出字数。-l只打印行号。wc–l/etc/passwd可以显示/etc/passwd当前有多少行
