grep:文本过滤工具
sed: 文本编辑工具
awk: 格式化文本
grep
-n 显示行号
-i 忽略大小写
-v 取反
-o 只保留关键消息
# 找出文件的空行
grep '^$' test.txt -n
# 找出文件非空行内容
grep '^$' test.txt -n -v
# 找出文件非空行内容,并且排除注释,在管道里层层过滤
grep '^#' test.txt -v | grep '^$' -n -v# 找出error的内容
grep 'error' test.txt -n -i#组合cat 或 tail使用
cat <fileName> | grep <pattern> <cmd>
或
tail -f <fileName> | grep <pattern> <cmd>
sed
# 替换文本的内容,将a全部替换成b
sed -e "s/a/b/g" -e "s/x/y/g" test.txt -i
# 在第2行下追加一行 hello world1
sed "2a hello world" test.txt -i# 在第3行上添加一行 hello world2
sed "3i hello world" test.txt -iAWK
awk
$0 表示一整行
$1 表示第一列
# 以空格作为分隔符,将字符串分成不同的列,打印第二列参数
awk '{print $2}' test.txt