shell 编程实例学习
读取文件的每一行
for line in `cat filename(待读取的文件)`
doecho $line
done
如果文本内容如下
1111
2222
3333 4444 5555
那么for循环读取,打印内容如下
1111
2222
3333
4444
5555
采用while
cat file(待读取的文件) | while read line
doecho $line
done
将打印每一行,如下
1111
2222
3333 4444 5555
删除普通空文件
当前目录下 新建 rm_empty_file.sh ,运行后删除当前目录下的空文件
#!/bin/bash
ls > filesfor file in `cat files`
doif [ ! -s $file ]thenrm -i $filefi
donerm -rf files
#!/bin/bash
for file in $(ls)
doif [ ! -s $file ]thenrm -i $filefi
done
目录可以自己任意输,所以写了下面程序rm_empty_file2.sh。没有参数 就是当前目录;输入参数目录就是参数目录;错误目录当然会有错误
#!/bin/bash
if [ $# -eq 1 ]
thendir=$1 # $1为 ./xx.sh 后面的第一个参数
elsedir=""
fi
# 目录错误?
for file in $(ls $dir)
dofiletmp=${dir}${file} #字符串连接
# echo $filetmpif [ ! -s $filetmp ]thenrm -i $filetmpfi
done
参考:
bash shell命令行选项与修传入参数处理: http://www.jb51.net/article/48686.htm
linux shell 编程 删除空文件 : http://blog.163.com/gaga_blog/blog/static/214068175201211129020225/
查找目录下 大于100字节的文件,显示文件名和其大小
利用ls -l 命令 和 awk命令
#!/bin/bash
# 用逗号隔开文件名 和 文件大小
for files in `ls -l | awk '$5>100 {print $9","$5}'`
do
#echo $files
echo $files | awk -F , '{print $1" "$2}'
done
awk命令参考:https://linux.cn/article-3945-1.html
非常好的十道Linux shell脚本面试题:http://www.2cto.com/os/201309/241532.html
3 设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。
题目解答:http://www.yjbys.com/bbs/361072.html
Linux下shell脚本判断文件相关属性:http://www.cnblogs.com/lr-ting/archive/2013/02/27/2935449.html
- test 测试命令
- echo $? 可以查看上一条执行命令执行是否成功
- 这题会有还会有权限问题,因为在根目录下创建文件夹
统计c代码量
查看目录下有多少个.c 文件
进一步编写如下shell脚本 c.count.sh
#!/bin/bash
cfiles=`find . -name "*.c"`
for file in $cfiles
do echo $file #cat $file file_l=`cat $file | wc -l` echo $file_l
done
在目录下运行
shell算数运算
http://blog.csdn.net/taijianyu/article/details/6907288
http://oldboy.blog.51cto.com/2561410/767862
修改脚本
#!/bin/bash
sum_l=0
cfiles=`find . -name "*.c"`
for file in $cfiles
do#echo $file#cat $filefile_l=`cat $file | wc -l`#echo $file_l((sum_l=$sum_l+$file_l))
done
echo $sum_l
空行问题
shell 编程实例学习相关推荐
- shell编程基础(2)---与||
shell 编程重要的应用就是管理系统,对于管理系统中成千上万的程序而言,查询某个文件名是否存在,并且获取该文件名所指代文件基本信息是系统管理员的基本任务.shell命令可以很轻松的完成这项任务. # ...
- 如让自己想学不好shell编程都困难?
众所周知,shell是linux运维必备的技术,必须要掌握,但是shell语法复杂,灵活,网友掌握了语法也不知道如何应用到实际运维中,老男孩培训shell编程给所有linux运维人员带来了学好shel ...
- shell编程系列7--shell中常用的工具find、locate、which、whereis
shell编程系列7--shell中常用的工具find.locate.which.whereis1.文件查找之find命令语法格式:find [路径] [选项] [操作]选项 -name 根据文件名查 ...
- shell 不等于_关于shell编程中的整数值比较的两种方式的简单操作实例
谈一谈关于shell编程中的整数值比较的两种方式 Shell编程有时处理一个对象时,需要我们对对象进行测试. 只有符合要求的才采取下一步操作,这样做的好处可以避免程序出错. 这个测试的对象可以是文件. ...
- Linux学习(十四)---大数据定制篇Shell编程
文章目录 一.为什么要学习shell编程 二.Shell 是什么 三.shell 编程快速入门-Shell 脚本的执行方式 3.1 脚本格式要求 3.2 编写第一个 Shell 脚本 3.3 脚本的常 ...
- shell编程系列15--文本处理三剑客之awk格式化输出printf
shell编程系列15--文本处理三剑客之awk格式化输出printfprintf的格式说明符格式符 含义 %s 打印字符串 %d 打印十进制数 %f 打印一个浮点数 %x 打印十六进制数 %o 打印 ...
- shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)
shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)Shell脚本与MySQL数据库交互(增删改查)# 环境准备:安装mariadb 数据库 [root ...
- Linux Shell常用技巧(十二) Shell编程
二十三. Bash Shell编程: 1. 读取用户变量: read命令是用于从终端或者文件中读取输入的内建命令,read命令读取整行输入,每行末尾的换行符不被读入.在read命令后面,如 ...
- Linux Shell编程入门
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...
最新文章
- if __name__ == __main___Python的if __name__==#x27;__main__#x27;你都懂了吗
- Asp.net MVC突然变慢,缓存消失的一种原因
- android aspectj 编译,Android AOP方案(一)——AspectJ
- Memcached的使用
- 深入浅出理解神经网络召回模型的优势
- 大咖聊数据,视频抢先看
- html5语义化标记元素_语义HTML5元素介绍
- php time java_java 时间戳和PHP时间戳 的转换 php time()
- VMware的宿主模式
- oracle如何快速查找,Oracle 如何快速查找和删除重复记录
- 手机MODEM 开发(28)--- VoLTE介绍
- HttpClient4文件上传
- Linux注册服务(chkconfig)
- python数据分析 制图_Python与开源GIS:数据处理、空间分析与地图制图
- 要闻君说:小米手机部组织架构突现大调整;河南联通重启VDC扩容工程招标;英特尔已收购Ineda Systems,剑指独显;...
- 芯片工程师常用英文黑话
- Skype for Linux下载地址
- python数据分析练手小项目-汽车销售偷漏纳税人识别
- ImportError:cannot import name ‘namedtuple‘from ‘collections‘(C:\Python\Pyth...
- 释放智能边缘广阔机遇,英特尔携手生态伙伴构建万物互联未来