shell 文本处理工具
一、grep 命令
grep root passwd #过滤root关键字
grep ^root passwd ##以root开头
grep root$ passwd ##以root结尾
grep -i root passwd ##后略大小写
grep -E “<root” passwd ##root字符之前不能有字符
grep -E “root>” passwd ##root字符之后不能有字符
grep -数字 ##显示过滤行以及上面几行和下面几行
grep -n ##显示匹配的行所在行号
grep -A ##显示过滤行以及下面几行
grep -B ##显示过滤行以及上面几行
grep -v ##反向过滤
grep字符数量匹配规则
^westos ##以westos开有
westos$ ##以westos结尾
w…s ##w开头s结尾中间4个任意字符
…s ##s结尾前面5个任意字符
- ##字符出现1任意
? ##0到1次
- ##1次到任意次
{n} ##n此
{m,n} ##m到n次
{0,n} ##0-n次
{,n} ##0-n次
{m,} ##最少m次
(lee){2} ##lee字符串出现2次
二、sed 命令
p ##显示
sed -n 5p westos ##显示第五行
sed -n 3,5p westos ##显示3到5行
sed -ne "3p;5p westos ##显示3和5行
sed -ne 1,5p westos ##1-5行
sed -ne ‘5,$p’ westos ##5到最后以行
sed -n ‘/^#/p’ fstab ##显示以#开头的行
d ##删除
sed 5d westos ##删除第五行
sed ‘/^#/d’ fstab ##把#开头的行删除
sed ‘/^UUID/!d’ fstab ##除了UUID以外的行都删除
sed -e ‘5,$d’ westos
w ##把符合的行写到指定文件中
sed ‘/^UUID/w westofile’ westos ##把westos中UUID开头的行写入westosfile中
c ##替换
sed -e ‘/^#/c hello world’ fstab
sed ‘5chello world’ westos
i ##插入
sed ‘5ihello westos’ westos
sed 字符替换
sed ‘s/😕###/g’ westos
sed ‘s/😕###/’ westos
sed ‘s/😕###/g’ westos
sed ‘1,5s/😕###/g’ westos
sed ‘1s/😕###/g’ westos
sed ‘1s/😕###/g;5s/😕###/g’ westos
sed ‘/lp/,/shutdown/s/😕###/g’ westos
sed ‘s///####/g’ westos
sed ‘s@/@####@g’ westos
三、awk 命令
awk -F 分隔符 BEGIN{} {} END{} FILENAME
FILENAME #文件名称本身
westos #westos变量值
“westos” #westos字符串
/bash$/ #条件
/条件1|条件2/ #条件1或者条件2
/条件1/||/条件2/ #条件1或者条件2
/条件1/&&/条件2/ #条件1并且条件2
$0 #所有的列
$1 #第一列
$2 #第二列
$3 #第三列