shell技巧

  • #grep -v "#" /etc/zabbix/zabbix_agentd.conf|grep -v "^$"     代表^$空格,-v代表不显示
  • 获取脚本当前目录:BUILD_PATH=$(cd "$(dirname "$0")"; pwd)
pwd 是当前用户所在路径
比如Dev-FandeiMac:~ code-pc$ /tmp/t.sh 1 2
$0:/tmp/t.sh
pwd:~
$(dirname "$0"):/tmp
  • 获取文本内容的第几行
wc -l  a.txt  统计a.txt 行数
查看文件a.txt的第190行到196行,

sed -n '190,196p' a.txt 
如果查看某一行用

sed -n '190,1p' a.txt 
sed -n 'a,bp' a.txt  读取自第a行到第b行的数据
if(a > b ) return 第a行
  • 实现变量+1
    i=`expr $i + 1`
  • ret=$(cat /etc/ansible/hosts |awk  '{if($1=="'$1'"){print$1" "$2}}')

输出第一列符合某值的行的第一二列

其中"'$1'"代表外部变量,不是指第一列

  • a 追加内容 sed ‘/匹配词/a\要加入的内容’ example.file(将内容追加到匹配的目标行的下一行位置)
    i 插入内容 sed ‘/匹配词/i\要加入的内容’ example.file 将内容插入到匹配的行目标的上一行位置)
    示例:
    #我要把文件的包含“chengyongxu.com”这个关键词的行前或行后加入一行,内容为“allow chengyongxu.cn”
    行前加

sed -i '/allow chengyongxu.com/i\allow chengyongxu.cn' the.conf.file 

 行前后

sed -i '/allow chengyongxu.com/a\allow chengyongxu.cn' the.conf.file

sed -i '/1/a\t' t.txt

在t.txt中找到一行内容为1,然后再改行后面写入t(mac不能用)

  • 在一行的两段添加内容

sed 's/$/&tail/g' test.txt  每行尾添加tail

sed 's/^/head&/g' test.txt 每行头添加head


  • 精确匹配一个进程

echo "[INFO LOG][`date +%y/%m/%d-%H:%M:%S`]:ps -efww |grep /data/C++/log|grep logd|grep -v start.sh|grep -v grep"
  • 显示匹配行的行号

sed -n '/sjob_exec.sh/=' /etc/crontab

显示匹配的行内容
sed -n '/sjob_exec.sh/p' /etc/crontab

修改指定行的内容
sed -i "row s/#//" /etc/crontab

修改匹配行
row=$(sed -n '/sjob_exec.sh/=' /etc/crontab)
sed -i "$row s/#//" /etc/crontab









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux Shell高级技巧实战总结 一、将输入信息转换为大写字符后再进行条件判断 二、为调试信息设置输出级别 三、判断参数是否为数字 四、判断整数变量的奇偶性 五、将Shell命令赋值给指定变量,以保证脚本的移植性 六、获取当前时间距纪元时间(1970年1月1日)所经过的天数 七、非直接引用变量 八、在循环中使用管道的技巧 九、自链接脚本 十、Here文档的使用技巧 十一、获取进程的运行时长(单位: 分钟) 十二、模拟简单的top命令 十三、格式化输出指定用户的当前运行进程 十四、用脚本完成which命令的基本功能 十五、验证输入信息是否合法 十六、整数验证 十七、判断指定的年份是否为闰年 十八、将单列显示转换为多列显示 十九、将文件的输出格式化为指定的宽度 二十、监控指定目录下磁盘使用空间过大的用户 二十一、编写一个更具可读性的df命令输出脚本 二十二、编写一个用于添加新用户的脚本 二十三、kill指定用户或指定终端的用户进程 二十四、判断用户输入(是/否)的便捷方法 二十五、通过FTP下载指定的文件 二十六、文件锁定 二十七、用小文件覆盖整个磁盘 二十八、统计当前系统中不同运行状态的进程数量 二十九、浮点数验证 三十、统计英文文章中每个单词出现的频率 Linux Shell经典实例解析--Oracle启动脚本(上) Linux Shell经典实例解析--Oracle启动脚本(下)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值