三剑客LinuxLinux

Linux三剑客 grep+awk+sed

2021-08-04  本文已影响0人  InsaneLoafer

Linux三剑客介绍

Linux三剑客的价值

grep

BRE基本正则表达式

ERE扩展正则表达式

ERE开启方法

image.png

awk

awk pattern语法

awk内置变量

awk的字段数据处理

awk字段分割

echo $PATH | awk 'BEGIN{RS=":"}{print $0}' | awk -F/ '{print $1,$2,$3,$4}'
echo $PATH | awk 'BEGIN{RS=":"}{print $0}' | awk 'BEGIN{FS="/"}{print $1,$2,$3,$4}'
echo $PATH | awk 'BEGIN{RS=":"}{print $0}' | awk 'BEGIN{FS="/ | -"}{print $1,$2,$3,$4}'
image.png
echo $PATH | awk 'BEGIN{FS=":";OFS=" | "}{$1=$1;print $0}'
echo $PATH | awk 'BEGIN{RS=":";ORS="^"}{print $0}'
image.png

awk行处理

echo $PATH | awk 'BEGIN{RS=":"}{print $0}'
echo $PATH | awk 'BEGIN{RS=":"}{print NR,$0}'
echo $PATH | awk 'BEGIN{RS=":"}END{print NR}'
image.png
echo $PATH | awk 'BEGIN{RS=":"}{print $0}' | awk 'BEGIN{ORS=":"}{print $0}'
image.png

数据计算

echo '1,10
2,20
3,30' | awk 'BEGIN{a=0;FS=","}{a+=$2}END{print a/NR}'
image.png

awk的词典结构

awk -F, '
/9/{if(member[$1]!=1) d[$1]=$0}
/study/{member[$1 ]=1; delete d[$1]}
END{for(k in d) print d[k]}
'file

sed

pattern

act1011

sed使用

echo $PATH | awk 'BEGIN{RS=":"}{print $0}' | sed 's#/#----#g'
echo $PATH | awk 'BEGIN{RS=":"}{print $0}' | sed -n '/^\ /bin/,/sbin/p'
sed -i '.bak' -e " -e "

三剑客实战

上一篇下一篇

猜你喜欢

热点阅读