vim + sed 로 셸 스 크 립 트 파일 정리 하기
在工作中遇到的问题,此nginx.sh配置脚本是我在Googel下载下来的,实际复制贴�到服务器中运行时发现前面都有 001-100的行标识符,外带空格,影响运行和美观啊;本来想一行行删除,后来不禁自己也鄙视自己:这也太没技术含量了吧?具体解决方法如下:
①首先在 vim里删除所有行首数字,如下所示:
1 :%s/^[0-9][0-9]* //
②然后再删除所有行首空字符,如下所示:
1 sed -i 's/^[[:space:]]*//' nginxd.sh
整个nginxd.sh脚本如下,有兴趣的朋友也拿着练下手。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 001 #!/bin/sh002 003 # source function library004 . /etc/rc.d/init.d/functions005 006 # Source networking configuration.007 . /etc/sysconfig/network008 009 # Check that networking is up.010 [ ${NETWORKING} = "no" ] && exit 0011 012 RETVAL=0013 prog="nginx"014 015 nginxDir=/usr/local/nginx016 nginxd=$nginxDir/sbin/nginx017 nginxConf=$nginxDir/conf/nginx.conf018 nginxPid=$nginxDir/nginx.pid019 020 nginx_check()021 {022 if [[ -e $nginxPid ]]; then023 ps aux |grep -v grep |grep -q nginx024 if (( $? == 0 )); then025 echo "$prog already running..."026 exit 1027 else028 rm -rf $nginxPid &> /dev/null029 fi030 fi031 }032 033 start()034 {035 nginx_check036 if (( $? != 0 )); then037 true038 else039 echo -n $"Starting $prog:"040 daemon $nginxd -c $nginxConf041 RETVAL=$?042 echo043 [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx044 return $RETVAL045 fi046 }047 048 stop()049 {050 echo -n $"Stopping $prog:"051 killproc $nginxd052 RETVAL=$?053 echo054 [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx $nginxPid055 }056 057 reload()058 {059 echo -n $"Reloading $prog:"060 killproc $nginxd -HUP061 RETVAL=$?062 echo063 }064 065 monitor()066 {067 status $prog &> /dev/null068 if (( $? == 0 )); then069 RETVAL=0070 else071 RETVAL=7072 fi073 }074 075 case "$1" in076 start)077 start078 ;;079 stop)080 stop081 ;;082 restart)083 stop084 start085 ;;086 reload)087 reload088 ;;089 status)090 status $prog091 RETVAL=$?092 ;;093 monitor)094 monitor095 ;;096 *)097 echo $"Usage: $0 {start|stop|restart|reload|status|monitor}"098 RETVAL=1099 esac100 exit $RETVAL
另注:如果单纯只用sed来执行的话就比较简单了,如下所示的一句命令就可以搞定需求了:
1 sed -i -e 's@^[0-9][0-9]*@@ ' -e 's@^[[:space:]]* @@' nginx.sh
本文出自 “抚琴煮酒” 博客,请务必保留此出处http://yuhongchun.blog.51cto.com/1604432/504993
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
vim + sed 로 셸 스 크 립 트 파일 정리 하기/etc/sysconfig/network008 009 # Check that networking is up.010 [ ${NETWORKING} = "no" ] && exit 0011 012 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.