Linux三剑客与管道使用

                                                管道

(  数据切片 )awk                  Linux          sed   (数据修改) 

                                                  grep ( 数据查找定位)

类比  

grep  =   select * from table like '%xx'

awk = select field from table 

sed = update table set field = new were field =old

管道:‘Linux提供管道符|将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输出

echo "hello" | grep 'he'



什么是正则:记录文本规则的代码

    演练网站    https://tool.oschina.net/regex






匹配以字母a 开头的单词

匹配六个字符的单词


匹配一个或更多的数字

p匹配5到12为数字?




grep :



查找文件内容包含root 的行数

grep -n root test.txt

查找文件内容不包含root 的行

grep -nv root test.txt

查找以s 开头的行

grep ^s test.txt

查找以s 结尾的行

grep s$ test,txt



sed :  流处理

全局 替换

sed -e 's/root/hello/g' wc_demo.txt

直接修改文件的内容

sed -i 's/root/hello/g' test.txt






awk : 把文件逐行读入,以看空格为默认分隔符将每行切片,切开的部分再进行后续处理




awk -F : '{print $2}' wc_demo.txt

awk -F : 'NR==2{print $3}' wc_demo.txt


实战二:

awk -F : 'BEGIN{print "BEGIN BEGIN"} {print $1,$2}' wc_demo.txt

echo "111 222|333 444|555 666" | awk 'BEGIN{RS="|"}{print $0}'

你可能感兴趣的:(Linux三剑客与管道使用)