当前位置: 首页 > article >正文

shell脚本中用法_遇到的坑

  1. propertis文件中,取等号右边,并去掉空格:
    例如server.port = 8080,要取8080
   machineIp=`cat config.properties | grep "server.port" | awk -F "=" '{print $2}' | awk '{gsub(/^\s+|\s+$/, "");print}'`
  1. 取出(后面的内容
processTemp=${processStr#*(}

具体用法参见:
https://blog.csdn.net/JineD/article/details/124196546

  1. 取出包含off内容的行号,head -1是只取出第一个包含off的行数
row=`cat nginx.conf | grep -n "off" | awk -F ":" '{print $1}' | head -1`
  1. 取出这一行中的数据
offInfo=`head -$row nginx.conf | tail -n 1`

给这一行中的数据去除空格

echo $offInfo | awk '{gsub(/^\s+|\s+$/, "");print}' > $1/install.log 2>&1
  1. 在${row}这一行添加# off(会替换原有内容)
sed -i "${row}c # off" $2/conf/nginx.conf
  1. 在第i行内容前面加上"#"
sed -i "$i{s/^/#/}" /conf/nginx.conf
  1. 第一个字符是否为"#"(cut -c -1表示取第一个字符),如果为#,则返回值为#,否则为空
cut -c -1  $SH_PATH/install.log | grep -w '#'
  1. 如果即将要被插入的参数中包含"/"(即为路径格式),则需要进行转义:
	new_sed=$(echo $3 | sed -e 's/\//\\\//g')
	

f i l e 中的 n e e d I n s e r t 全都替换成 file中的needInsert全都替换成 file中的needInsert全都替换成{new_sed}

sed -i "s/needInsert/${new_sed}/g" $file
  1. 在${insertNeedModifyRow}后面一行加入- test.log这个内容,并且前面还有空格。空格用""开始,光敲空格,插入的时候是不会有空格的
    a表示在这一行后面插入,i表示在这一行前面插入
sed -i "${insertNeedModifyRow}a      \    - test.log" $1
  1. uniq表示去除同一个文件里重复的内容(只有相邻的才能去重,不相邻的是不能去重的)
uniq filebeat.yml > $SH_PATH/output.txt
  1. (1)插入的内容中,如果包含传参,则使用单引号’'将参数包裹,否则传参将会作为字符串插进去
    (2)将test.sh这个脚本中以curl开头的字符串替换成后面的一串
    其中c\表示将当前sed查找到的一行全部替换成我们指定的TEXT
sed -i '/curl*/c\curl http://'$ip':'$port'/${time} -X DELETE' test.sh
  1. 统计install.log中包含running的行数,其中wc -l表示统计行数
count=`grep -o 'running' $SH_PATH/install.log | wc -l`
  1. 识别用户输入了啥,-p表示设置提示信息
read -p "现在需要你输入,输入Y/N:" result
echo "你输入的为: $result"

http://www.kler.cn/a/13824.html

相关文章:

  • Windows 服务监控工具
  • 第一个机器学习应用:鸢尾花分类
  • 哪款无线洗地机最好用?好用的无线洗地机分享
  • 无线洗地机哪款性价比高?高性价比的洗地机分享
  • OSCP-Exfiltrated(Subrion、exiftool提权)
  • 功能安全ISO26262 道路车辆 功能安全审核及评估方法第3部分:软件层面
  • springcloudfeign原理和流程
  • OpenAI-ChatGPT最新官方接口《从0到1生产最佳实例》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(十一)(附源码)
  • 设备树常用of操作函数
  • UE4: Niagara系统实现雨天效果,并跟随人物移动
  • hadoop之MapReduce框架原理
  • Java基于POI动态合并单元格
  • 大语言模型-中文Langchain
  • ElasticSearch索引文档写入和近实时搜索
  • 86页2023年新型智慧城市顶层设计规划解决方案(ppt可编辑)
  • 火车站闸机web3d数字展示平台全方位动态呈现设备细节
  • MIT6.824 Lecture18 Fork Consistency
  • 赛题解析 | kaggle百万奖金新赛--图书墨水检测大赛
  • Zimbra 远程代码执行漏洞(CVE-2019-9670)漏洞分析
  • 非计算机专业如何转行成为程序员?我用亲身经历教你用这三种方法