shell编程之正则表达式
一、正则表达式
1.什么是正则表达式
正则表达式用于描述字符排列和匹配模式的一种语法规则。主要用于字符串的模式分割、匹配、查找及替换操作。主要用于匹配。
2.正则表达式与通配符
正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed命令可以支持正则表达式。
通配符用来匹配符合条件的文件名,通配符是完全匹配,ls、find、cp这些命令不支持正则表达式,所以只能用shell自己的通配符来进行匹配了。


3.基础正则表达式1


4.基础正则表达式2





5.基础正则表达式3




6.正则表达式案例

清空linux中文本的内容:esc退出后,按小写d、再按大写G,会从光标的所在行清空到整个行尾。
二、字符截取命令
1.cut命令



2.printf命令






3.awk命令


4.sed命令
sed是一种几乎包括所有unix平台(包括linux)的轻量级编辑器。sed主要用来将数据进行选取/替换/删除/新增的命令。


例子:
sed ‘2p’ test.txt #查看文件的第二行
sed -n ‘2p’ test.txt #只打印出第二行
sed '2,4d' test.txt #删除第二行到第四行的数据,但是不修改文件本身
sed '2a piaolaing jiushi renxing' test.txt #在第二行后追加内容
sed ‘2i meinv‘ test.txt # 在第二行前插入两行数据
sed '2c hello' student.txt #第四行数据替换被替换成hello

注意:如果不加“-i”,那么原文档的原始数据不会被修改。
三、字符处理命令
1.字符处理命令
sort命令:

例子:
sort /etc/passwd #排序用户信息文件(按字母顺序排列)
sort -t /etc/passwd #反向排序
sort -t ":" 3,3 /etc/passwd #指定分割符是“:”,用第三字段开头,第三字段结尾排序,就是只用第三字段排序
sort -n -t ":" -k 3,3 /etc/passwd #把指定的字符串,按照数值来排序,符合用户习惯
wc命令
