linux 常用脚本,用到的时候快速修改
来源:互联网 发布:淘宝设置定时上架 编辑:程序博客网 时间:2024/06/05 05:49
google的一篇关于shell的文章
Google Style Guides-Shell Style Guide(翻译)
Shell的一个例子
1.递归遍历递归删除文件夹中的*.exe .out *~文件(因为要往github上面提交acm的一些代码,而自己的acm目录很分成几个网站的代码,有多级子目录,需要把可执行文件删除)
#!/bin/bash#递归删除文件夹中的*.exe *.out *~文件#示例 bash del.sh .function del_file_from_dir(){for file in `ls $1` do if [ -d $1"/"$file ] then echo $file " is dir" rm -rf $1"/"$file/*.exe $1"/"$file/*.out $1"/"$file/*~ # del_file_from_dir $1"/"$file else echo $file fi done}del_file_from_dir $1
2.访问网站 下载文件(因为要学习hadoop权威指南,需要天气数据所以写了个脚本,从ftp上下载文件,并把文件处理成符合规范的数据)
从ftp://ftp.ncdc.noaa.gov/pub/data/gsod下载的数据是gsod_1901.tar ~ gsod_2016.tar 的数据
#!/bin/bashfor i in {1901..2016}docd /home/Administrator/ncdc/wget ftp://ftp.ncdc.noaa.gov/pub/data/gsod/$i/gsod_$i.tardone
3.要把文件名字变成1901.tar ~ 2016.tar名字的数据,进而压缩成1901.tar.bz2 ~ 2016.tar.bz2类型的数据。把gsod_1901.tar ~ gsod_2016.tar改成1901.tar.bz2 ~ 2016.tar.bz2
#!/bin/bash#把gsod_*.tar改名为*.tar,并把tar文件压缩成bz2文件for i in *.tardonowname=${i:5}#echo "$i"#echo ${nowname}mv "$i" "${nowname}"tar -jcf "${nowname}".bz2 "${nowname}" rm -rf "${nowname}"done
4.要把文件名字变成1901.tar ~ 2016.tar名字的数据,进而压缩成1901.tar.bz2 ~ 2016.tar.bz2类型的数据。把gsod_1901.tar ~ gsod_2016.tar改成1901.tar.bz2 ~ 2016.tar.bz2
- 测试while循环
# 执行命令并且check# 没执行一次文件翻倍#/bin/sbindeclare -i COUNTER=0while ((COUNTER<=5));do let ++COUNTER echo $COUNTERdone
- 测试 每次执行
main2 -i $file1 -o $file2 >> txtfile.log.txt
后file1文件变为原来的2倍,并且比较file1和file2的sha1sum值是否相同。
用到的shell知识点
- while循环有限次;
- shell接受命令执行命令的返回值;
- 字符串截取文件第4节;
- shell的if else fi判断;
- shell的变量值声明、初始化、自增;
# 执行命令并且check# 每执行一次文件翻倍#/bin/sbinfile1=file.txtfile2=file.txt.outdeclare -i COUNTER=0while ((COUNTER<=10));do runresult=`main2 -i $file1 -o $file2 >> txtfile.log.txt` file1_sha1=`sha1sum $file1` file2_sha1=`sha1sum $file2` file1_sha1=${file1_sha1%% *} #删除空格右边的字符 file2_sha1=${file2_sha1%% *} #删除空格右边的字符 echo '第' $COUNTER "次测试" >> txtfile.log.txt echo -n $file1 "与" $file2 "的sha1sum值相同 ? " >> txtfile.log.txt if [ $file1_sha1 == $file2_sha1 ];then echo "True" >> txtfile.log.txt else echo "False" >> txtfile.log.txt fi echo '\n' >> txtfile.log.txt let ++COUNTER rm -rf *.symbol rm -rf *.esi cat $file1 >> tmp cat tmp > $file1done
阅读全文
0 0
- linux 常用脚本,用到的时候快速修改
- python写的常用脚本,用到的时候快速修改
- PlistBuddy 命令行说明 -- 写脚本配置 plist 文件的时候可以用到
- select中value、text的赋值、回显(修改的时候会用到)
- linux 常用的shell脚本
- 一些Linux用到的C工具集常用函数实现
- 添加用户用到的脚本
- 关于mysql -uroot -p 或者修改密码时候用到mysqladmin
- 做update的时候 用到的movefileex
- linux 之 date 命令【文件备份的时候可以用到此】
- 利用脚本快速修改IP
- 实现QC中生成的QTP脚本快速修改
- 简单工具之 ---- IP的快速修改脚本
- 用到Target 的时候难免有些疑问。
- 导出数据库时候用到的一条指令
- 练习时候用到的正则表达式
- Linux快速找到最近修改的文件
- CTDP linux 程序员手册 (4.4)在Linux 脚本中经常要用到的程序
- ant的几个配置文件
- Source Insight 使用
- 挑战程序设计竞赛(1.6-p26)
- 贪心算法 & 动态规划基础题
- ACM 国内外几个网站 & 题目分类
- linux 常用脚本,用到的时候快速修改
- python写的常用脚本,用到的时候快速修改
- MyBatis 学习
- algorithm 4th笔记(1.3)
- algorithm 4th(2.2)归并排序
- nyoj 35 表达式求值
- Arch Linux 安装笔记
- GNU的一些工具
- CentOS7.2 编译clang3.5.2