shell脚本命令(sotr/unip/tr/cut/eval)与正则表达式
1、sort命令
概述:
格式:
sort [选项] 参数
常用选项:
概述:
Linux uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。
uniq 可检查文本文件中重复出现的行列。
格式:
uniq [选项] 参数
常用选项:
概述:
格式:
tr [选项] 参数
常用选项:
参数
使用tr进行排序
echo ${arr[*]}
可以输出数组列表| tr " " "\n"
可以将输出内容中的空格换成换行符| sort -n
对输出的内容进行按数值从小到大排序即可。概述:
Linux cut命令用于显示每行从开头算起 num1 到 num2 的文字。
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一
格式:
cut [选项] 参数
常用选项:
概述:
加上eval时,shell就会在执行命令之前扫描他2次,
eval命令将首先会先扫描命令行进行所有的置换,然后在执行该命令,
该命令适用于那些一次扫描无法实现其功能的变量,该命令对变量进行2次扫描
通常用于判断语句中,用来检查某一字符串是否满足某一格式
正则表达式是由普通字符与元字符组成:
基础常见的元字符:(支持工具grep、egrep、sed、awk)
\ :转义字符,用于取消特殊符号的含义,例: \!、\n、\$等
^ :匹配字符串开始的位置,例: ^a、 ^the、 ^#、^[a-z]
$ :匹配字符串结束的位置,例: word$、 ^$匹配空行
. :匹配除\n之外的任意的一个字符,例: go.d、 g..d
* :匹配前面子表达式0次或者多次,例: goo*d、 go.*d
[list] :匹配list列表中的一个字符,例: go[ola]d, [abc]、 [a-z]、 [a-z0-9]、 [0-9]匹配任意一位数字
[^list] :匹配任意非list列表中的一个字符,例: [^0-9]、 [^A-20-9]、 [^a-z]匹配任意一位非小写字母
\{n\} :匹配前面的子表达式n次,例: go\{2\}d、 '[0-9]\{2\} '匹配两位数字
\{n,\} :匹配前而的子表达式不少于n次,例: go\{2, \}d、'[0-9]\{2, \}'匹配两位及两位以上数字
\{n,m\} :匹配前面的子表达式n到m次,例: go\{2,3\}d、 ' [0-9]\{2,3\}'匹配两位到三位数字
注: egrep、 awk使用{n}、{n,小、{n, m}匹配时“{}”前不用加“\”
扩展正则表达式元字符:(支持工具egrep、awk)
+ :匹配前面子表达式1次以上,例: do+g, 将匹配至少一个o, 如dog、 doog、 dooog等
? :匹配前面子表达式0次或者1次,例: do?g, 将匹配dg或dog
() :将括号中的字符串作为h一个整体,例1: d(oo)+g," 将匹配oo整体1次以上,如doog、doooog等
| :以或的方式匹配字条串,例: d (oo|)g," 将匹配doog或者doofuck123g或者dooooooog
手机扫一扫
移动阅读更方便
你可能感兴趣的文章