1.awk
awk语言的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作。完整的awk脚本通常用来格式化文本文件中的信息。
通常,awk是以文件的一行为处理单位的。awk每接收文件的一行,然后执行相应的命令,来处理文本。
awk使用场景如下:通过crontab定时任务监控cpu缓存大小,自动清理缓存。
clearBuffCache.sh脚本如下,添加到crontab中即可(crontab -l:查看crontab;crontab -e:编辑crontab):
Mem=$(free -m | awk ‘NR==2‘ | awk ‘{print $6}‘) #NR==2是取第二行的意思 if [ $Mem -lt 400 ]; then echo "Service memory capacity is normal!" > /dev/null else sync echo "1" > /proc/sys/vm/drop_caches #清理PageCache,释放页缓存 echo "2" > /proc/sys/vm/drop_caches #释放dentries和inodes,清空文件节点缓存和目录项缓存 echo "3" > /proc/sys/vm/drop_caches #清空1和2所有内容的缓存 sync fi
2.sed
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作。
sed使用:
#将test.txt文件中所有“hello”字符串替换为"Hello" sed -i ‘s/hello/Hello/g‘ test.txt
#删除匹配行 sed -i ‘/匹配字符串/d‘ filename #包含匹配字符串的行会被删除
原文:https://www.cnblogs.com/itfeng813/p/14734343.html