[2020春假]Linux下的文本操作(grep,sed,awk
2020-01-26 本文已影响0人
巩翔宇Ibrahimovic
Chapter1 元字符介绍
基本元字符
.
匹配除换行符外的任意单个字符
*
匹配任意一个跟在它前面的字符
[]
匹配方括号中的字符类中的任意一个
^
匹配开头
$
匹配结尾
\
转义后面的特殊字符
#使用grep进行文本内容的查找,23结果一致
grep password /root/anaconda-ks.cfg
grep pass....$ /root/anaconda-ks.cfg
grep pass.*$ /root/anaconda-ks.cfg
Chapter2 find演示
扩展元字符
+
匹配前面的正则表达式至少出现1次
?
匹配前面的正则表达式出现0次或1次
|
匹配它前面或后面的正则表达式
文件的查找命令find
主要是在目录中找到指定的文件。
find /etc -name pass* #在etc目录下查找名字中带有‘pass’的文件
find /etc -regex .*wd #查找etc目录下'wd'结尾的文件
find *txt -exec rm -v {} \; #exec直接删除,不提示,-v显示删除进度
man find #输入/关键字,可以查找到指定的内容
文本内容的过滤(查找) grep
grep password /root/anaconda-ks.cfg | cut -d " " -f 1 #查找到有password的那一行,取空格为间隔的第一部分字符串
cut -d ":" -f 7 /etc/passwd | sort | uniq -c #使用uniq -c统计个数
Chapter 3 sed和awk介绍
vim和sed,awk的区别
1.vim是全文本编辑器,sed,awk是行编辑器。
2.vim是交互式,sed,awk是非交互式。
3.vim是文件操作模式,sed,awk是行操作模式
sed的基本用法演示
一般用于对文本内容的替换。
sed '/user1/s/user1/u1' /etc/passwd
awk基本用法演示
awk一般用于对文本内容进行统计,按需要的格式进行输出。
cut命令:cut -d : -f 1 /etc/passwd
awk命令;awk -F:'/wd$/{print $1}' /etc/passwd