grep查找某个目录下面的字符串
- grep -n "string" -r /home/
- strings /usr/local/bin/xxx.so
- find / -name xxx.txt
sed查找删除某一行
- sed -i "/^IP/d" php.ini #查找IP开头的一行,并删除
- sed -i "/^IP/c IP=192.168.1.1" php.ini#替换所有以IP开头的行成为IP=192.168.1.1
awk与sed不同的地方,是awk可以处理基于字符串级别的文本,而sed只能处理行级别。如,打印/etc/passwd的第一行:
- awk '{FS=":"}{print $1}' #以":"为分割,打印第一列
ex:一个简单的kill掉某一个进程ID的例子
- #!/bin/sh
- #kill foo pid
- pidlist=`ps -ef|grep foo| grep -v "grep"|awk '{print $2}'`
- #ps -u $USER|grep "java"|grep -v "grep"
- echo "foo Id list :$pidlist"
- #下面的命令,每个之间要用空格分开才能生效!
- if [ "$pidlist" = "" ];then
- echo "no tomcat pid alive"
- else
- for pid in ${pidlist}
- {
- kill -9 $pid
- echo "KILL $pid:"
- echo "service stop success"
- }
- fi