Shell每日闪记1

原创 2016年08月30日 21:23:24

需求:批量地在当前目录(包含子目录)中的某些文件(例如*.gnu)的开头插入一些固定内容的行(例如"set term jpeg size 600,900 …")。


方案:可利用如下命令(find + sed)

find . -name '*.gnu' -exec sed  -i '1i\set term jpeg size 600,900\nset output "band.jpg"' {} \;

如果想要顺便用gnuplot把图画出来,则可以使用如下脚本

#!/bin/bash
find . -name '*.gnu' | while read line
do
    cd $(dirname $line)
    sed -i '1i\set term jpeg size 600,900\nset output "band.jpg"' ${line##*/}
    gnuplot --persist ${line##*/}
    cd -
done

注:以上脚本第5行的${line##*/}代表仅保留$line变量(形如./.../.../....gnu)的最右面的‘/’后面的内容,即去掉路径,仅保留文件名;而上一句中的dirname $line则正好相反,仅取路径。之所以这样处理,而不是删掉第4行并把第5行中的${line##*/}改成$line,是因为gnuplot用来做图的数据文件在*.gnu文件所在的目录中,所以需要进入该目录才能操作。


参考:

dirname:http://codingstandards.iteye.com/blog/800028

Linux shell字符串截取与拼接:http://www.linuxidc.com/Linux/2015-03/115198.htm

gnuplot入门教程:http://blog.csdn.net/liyuanbhu/article/details/8502383

版权声明:本文为博主原创文章,未经博主允许不得转载。

shell脚本打印日志方法

作者:【吴业亮】云计算开发工程师 博客:http://blog.csdn.net/wylfengyujiancheng在shell脚本执行过程中如果没有日志记录,特别是脚本比较长的情况下在执行完再...
  • wylfengyujiancheng
  • wylfengyujiancheng
  • 2015年11月24日 22:02
  • 12485

shell脚本自动删除n天前日志

转自:http://www.cnblogs.com/peida/archive/2013/03/25/2980121.html linux是一个很能自动产生文件的系统,日志、邮件、备份等。虽然现...
  • huluedeai
  • huluedeai
  • 2015年03月22日 13:26
  • 2031

linux shell 历史命令记录功能

来自:https://segmentfault.com/a/1190000000716056 在 Linux 下面可以使用 history 命令查看用户的所有历史操作,同时 shell 命令操作...
  • shanzhizi
  • shanzhizi
  • 2015年12月09日 13:32
  • 2615

shell脚本学习每日一句(1)

shell的学习入门极难,这我是知道了,想想自己学习shell也差不多半年了,其中总是学学停停,没有一点儿的转眼劲儿,看来是不能将这shell学好了。所以想到这样的一招来督促自己好好学习shell,积...
  • chen861201
  • chen861201
  • 2012年05月15日 14:44
  • 647

#Java基础——每日随记(1)

Java基础——每日随记java中“==”用于表示匹配内存单元的内容是否相等。 如果是原始类型,如byte、boolean、short、char、int、long、float、double,则表示值相...
  • yuhao22
  • yuhao22
  • 2016年12月21日 21:18
  • 83

shell每日一句(4)

6月4号 下午2点 把单个数据替换成单个字母与字符串替换的比较: 其中,‘y/abc/123/'就是指将单个字符对应的替换符号填充进去。a对应1、b对应2、c对应3 [root@fsai...
  • chen861201
  • chen861201
  • 2012年06月04日 14:00
  • 1555

shell脚本学习每日一句(2)

5月21号 晚上8点更新 employee文件中记录了工号和姓名 employee.txt: 100 Jason Smith  200 John Doe  300 Sanjay Gupta ...
  • chen861201
  • chen861201
  • 2012年05月21日 20:15
  • 992

每日一shell之例行任务管理at和cron命令

但一时刻执行一次任务atat now + 30 minutes//进入at命令并设定时间是从现在开始的30分钟后 /sbin/shutdown -h now//关机命令 之后用ctrl+D结束输入...
  • u013246898
  • u013246898
  • 2016年10月28日 23:09
  • 347

Android appWidget每日一句修正1

  • 2012年01月17日 00:56
  • 529KB
  • 下载

Titanium移动开发 命令行Shell 每日自动构建

以下脚本用于构建Android 和 iOS版本的Titanium应用。可以将脚本加入cron中,每日定时构建。...
  • meixuesong
  • meixuesong
  • 2014年05月29日 19:00
  • 413
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Shell每日闪记1
举报原因:
原因补充:

(最多只允许输入30个字)