文本排序:sort
仅仅对输出显示内容进行排序,不会影响原文件的顺序
sort/etc/passwd --->根据ASCII码表的顺序进行排序
默认排序还是按字典顺序排序。
-n:按照数字大小排序
-r:按字典顺序反向排序
-t:指定字段分割符
-k:以哪个字段为关键字进行排序
例:sort -t: -k3 -n /etc/passwd--->以:为分割,以第3个字段按字典大小进行排序
-u:排序后,相同行(相邻且重复的行)只显示一次
-f:排序时忽略字符大小写
文本统计:wc (word count)
直接使用,统计行数、单词数、字节数
例:wc/etc/passwd
-l:统计多少行
-w:统计单词个数
-c:统计字节数
-L:最长一行包含多少字节
字符处理命令:tr 转换或删除字符
tr 'a-z' 'A-Z' < /etc/passwd 把文件中所有小写替换成大写
tr -d 'abc' < /etc/passwd 把文件中的字符集‘abc’删除,逐个字符处理。
文件名通配
*:任意长度的任意字符
?:任意单个字符
[]:匹配指定范围内的任意单个字符
[abc],[a-m],[a-z],[A-Z],[0-9],[a-zA-z],[0-9a-zA-Z]
[[:space:]]--->表示所有的空白字符
[[:punct:]]--->表示所有的标点符号
[[:lower:]]小写字母
[[:upper:]]大写字母
[[:alpha:]]大小写字母
[[:digit:]]数字
[[:alnum:]]数字和大小写字母
可以使用以下命令来查看这些字符集:
#man7 glob
[^]:匹配指定范围之外的任意单个字符
例:ls [^0-9]*--->显示以非数字开头的文件
字符集也支持这种格式,例:[^[:alpha:]]
文本查找:
grep:根据模式搜索文本,并将符合模式的文本行显示出来
由文本字符和正则表达式的元字符组合而成的匹配条件成为模式
例:grep 'root'/etc/passwd
-n:显示行号
-c:统计出现的个数
-i:忽略大小写
--color:查找到的内容显示颜色
-v:显示没有被模式匹配到的行
-o:只显示被模式匹配到的字符串
-E:有些特殊符号是正则表达式中的符号,使用该选项意思就是必须使用正则表达 式,例如使用+、?等符号时
正则表达式中的元字符:
.:匹配任意单个字符
*:匹配其前面的字符任意次
.*:匹配任意长度的任意字符(贪婪模式:尽可能长的匹配)
?:匹配其前面的字符1次或0次
例:grep -E 'goo?g' sort.txt
\{m,n\}:匹配其前面的字符至少m次,至多n次
例:\{1,\}--->至少1次
grep "go\{1,\}" sort.txt
\{0,3\}--->最多3次
grep "go\{0,3\}" sort.txt
^:锚定行首,此字符后面的任意内容必须出现在行首
例:grep'^r..t' /etc/passwd
$:锚定行尾,此字符前面的任意内容必须出现在行尾
例:grep 'w$'/etc/inittab
^$:空白行
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符