巧用vim+sed整理shell脚本文件
在工作中遇到的问题,此nginx.sh配置脚本是我在Googel下载下来的,实际复制贴貼到服务器中运行时发现前面都有 001-100的行标识符,外带空格,影响运行和美观啊;本来想一行行删除,后来不禁自己也鄙视自己:这也太没技术含量了吧?具体解决方法如下:
①首先在 vim里删除所有行首数字,如下所示:
:%s/^[0-9][0-9]* //
②然后再删除所有行首空字符,如下所示:
sed -i 's/^[[:space:]]*//' nginxd.sh
整个nginxd.sh脚本如下,有兴趣的朋友也拿着练下手。
001 #!/bin/sh 002 003 # source function library 004 . /etc/rc.d/init.d/functions 005 006 # Source networking configuration. 007 . /etc/sysconfig/network 008 009 # Check that networking is up. 010 [ ${NETWORKING} = "no" ] && exit 0 011 012 RETVAL=0 013 prog="nginx" 014 015 nginxDir=/usr/local/nginx 016 nginxd=$nginxDir/sbin/nginx 017 nginxConf=$nginxDir/conf/nginx.conf 018 nginxPid=$nginxDir/nginx.pid 019 020 nginx_check() 021 { 022 if [[ -e $nginxPid ]]; then 023 ps aux |grep -v grep |grep -q nginx 024 if (( $? == 0 )); then 025 echo "$prog already running..." 026 exit 1 027 else 028 rm -rf $nginxPid &> /dev/null 029 fi 030 fi 031 } 032 033 start() 034 { 035 nginx_check 036 if (( $? != 0 )); then 037 true 038 else 039 echo -n $"Starting $prog:" 040 daemon $nginxd -c $nginxConf 041 RETVAL=$? 042 echo 043 [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx 044 return $RETVAL 045 fi 046 } 047 048 stop() 049 { 050 echo -n $"Stopping $prog:" 051 killproc $nginxd 052 RETVAL=$? 053 echo 054 [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx $nginxPid 055 } 056 057 reload() 058 { 059 echo -n $"Reloading $prog:" 060 killproc $nginxd -HUP 061 RETVAL=$? 062 echo 063 } 064 065 monitor() 066 { 067 status $prog &> /dev/null 068 if (( $? == 0 )); then 069 RETVAL=0 070 else 071 RETVAL=7 072 fi 073 } 074 075 case "$1" in 076 start) 077 start 078 ;; 079 stop) 080 stop 081 ;; 082 restart) 083 stop 084 start 085 ;; 086 reload) 087 reload 088 ;; 089 status) 090 status $prog 091 RETVAL=$? 092 ;; 093 monitor) 094 monitor 095 ;; 096 *) 097 echo $"Usage: $0 {start|stop|restart|reload|status|monitor}" 098 RETVAL=1 099 esac 100 exit $RETVAL
另注:如果单纯只用sed来执行的话就比较简单了,如下所示的一句命令就可以搞定需求了:
sed -i -e 's@^[0-9][0-9]*@@ ' -e 's@^[[:space:]]* @@' nginx.sh
巧用vim+sed整理shell脚本文件相关推荐
- 使用Vim编辑运行shell脚本文件的经典步骤
[操作步骤] 1.输入命令 vim test 进入Vim文本编辑器界面.示例shell脚本文件test的内容如下: #!/bin/bash # This script displays the dat ...
- Vim编辑器与shell脚本(.sh)
vim.vi编辑器 三个模式 命令模式 输入模式 行末模式 命令模式下可以通过dd,yy,/s/*/*等来进行删除,复制,替换,剪切等操作 输入模式:a,i,o , a,i的使用方法相仿,前者在光标当 ...
- vi新建一个shell脚本_Linux Vim 编辑器编写 Shell 脚本
Vim 编译器 Vim 文件编译器是编写文件的好工具,它包括以下 3 种模式: 命令模式:移动光标,对文本进行增删查改等操作: 输入模式:向文件中输入文本: 末行模式:保存或退出文档,设置编辑环境. ...
- Vim编辑器与shell脚本
目录 Vim文本编辑器 Shell脚本 Shell编程变量 流程控制语句 计划任务 ...
- linux执行加密的shell,Linux下Shell脚本文件的加密
一些站长会对自己编写的网页文件进行加密,以免自己辛辛苦苦写出来的成果被盗用.而Linux程序员编写的Shell脚本文件,也是可以加密的.这样做的好处除了防止被盗用,还可以防止自己脚本文件中的密码泄露, ...
- xml文件、jsp文件、sql文件、shell脚本文件注释
一,各种文件如何注释: 1.xml文件注释 注释以 <!-- 开始并以 --> 结束, 例如 <!--注释内容-->. 2.jsp文件注释 2. 1. html注释: ...
- linux下执行shell脚本文件,Linux下使用shell脚本自动执行脚本文件
搜索热词 以下实例本人在Centos6.5 64位操作系统中使用 一.定时复制文件 a.在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件 #将tomcat中 ...
- linux 用shell脚本文件,Linux必须掌握的shell脚本基础
1. shell 基本语法 shell: shell 是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用 ...
- Vim编辑器和Shell脚本命令,条件和逻辑测试语句
Vim编辑器 Vim编辑器用于编辑文本文件内容,是vi编辑器的升级版,与Vi相比,Vim编辑器有代码着色. 着色功能:用于排错,避免错误参数的产生 vim编辑器的3种模式: 1.>命令模式:控制 ...
最新文章
- 为什么vs数据库中文显示问号_本科论文知网不收录为什么会被知网查重到?
- 令人郁闷的discuz!个人空间过滤机制
- 服务发现技术选型那点事儿
- 【linux】 -设备名称与文件目录
- LeetCode 1886. 判断矩阵经轮转后是否一致
- Win10启用linux子系统(Linuxer福利)
- C++序列式容器(STL序列式容器)
- 去掉GaussView 3.07启动警告窗口的完整解决方案
- 农业物联网行业调研报告 - 市场现状分析与发展前景预测
- 韩文、日语相关 文档扫描识别 的福音
- 漫谈区块链“羊群效应”
- 载硫酸庆大霉素PLGA纳米粒PNPs(GS修饰PLGA纳米粒)/cRGD修饰PLGA纳米粒的制备方法
- Windows XP 上使用pyqt5 + pyinstaller
- mysql常用增删改查命令总结
- ILSSI|六西格玛DMAIC的历程
- 文本和输入:复制和粘贴
- linux可以打开浏览器嘛,Linux下怎样可以打开浏览器?
- P4 程序设计语法学习
- subster函数的详细说明
- 在html中如何做个人微博,学习记录:爬取个人微博
热门文章
- JMeter对数据库的更新操作
- JMeter使用命令行模式生成HTML测试报告
- mysql user表字段详解_Mysql User表权限字段说明全介绍
- catia曲面设计从入门到精通_CATIA V5 曲面设计从入门到精通
- 推挽输出和开漏输出_平台/输入amp;输出
- 手摸手,一起整理前端小小小知识
- 属于微型计算机主要性能指示,2014年兰大入学测试题--计算机基础
- java des 0填充方式_DES填充方式与初始向量IV的作用
- feign直接走熔断_SpringCloud基于OpenFeign实现服务熔断降级
- object string java_Object类和String类