# linux命令三剑客之 grep,awk,sed 到底有多骚
可以说,这三个命令是linux文本处理中最重要的命令了,在shell中用的也非常的多。
其中awk复杂到可以把它当做一门语言来学,功能十分之强大。
# 初探 grep
我们需要查找关于系统下 root 用户相关的信息
可以在 /etc/passwd 文件下查看,但是我不想用 vim 打开文件,可以直接用 grep 进行查看
将会打印包含root的所有行

当然grep同样支持正则表达式

# 初探 sed
sed可以在不打开文件的情况下编辑文件
将hello替换成world
可以使用 sed -i 's/hello/world/g' hello.txt 完成

# 初探 awk
可以提取我们需要的特定列的内容

当然以上都是最最简单的用法
还有很多高级的功能,我们一般写在脚本里面
我曾写过的最复杂的一个脚本,就需要依赖于sed和awk提取需要的信息
month1=$(date -d"yesterday" | awk '{print $2}' | awk 'gsub(/[^[:digit:]]/," ",$0)')
month2=$(date -d"yesterday" | awk '{print $2}')
day=$(date -d"yesterday" | awk '{print $3}' | awk 'gsub(/[^[:digit:]]/," ",$0)')
date="$month1.$day.md"
dateFin=$(echo $date | sed 's/ //g')