博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell训练营Day19
阅读量:7229 次
发布时间:2019-06-29

本文共 1347 字,大约阅读时间需要 4 分钟。

练习36

用shell实现,把一个文本文档中只有一个数字的行给打印出来。

参考答案

#!/bin/bashwhile read linedo    n=`echo $line |sed 's/[^0-9]//g'|wc -L`    if [ $n -eq 1 ]    then    echo $line    fidone < 1.txt练习37系统logrotate工具,可以完成日志切割、归档。写一个shell脚本实现类似的归档功能。 举例: 假如服务的输出日志是1.log,要求每天归档一个,1.log第二天就变成1.log.1,第三天1.log.2, 第四天 1.log.3  一直到1.log.5。#!/bin/bashcd /data/logslog=1.logmv_log(){    [ -f $1 ] && mv $1 $2}[ -f 1.log.5 ] && rm -f 1.log.5for i in `seq 4 -1 1`do     j=$[$i+1]    mv_log $log.$i $log.$jdonemv 1.log 1.log.1练习38写一个shell脚本,把192.168.0.0/24网段在线的ip列出来。#!/bin/bashfor i in `seq 1 254`do     if ping -c 2 -W 2 192.168.0.$i >/dev/null 2>/dev/null    then    echo "192.168.0.$i 是通的."    else    echo "192.168.0.$i 不通."    fidone练习39写一个shell脚本,检查指定的shell脚本是否有语法错误,若有错误,首先显示错误信息,然后提示用户输入q或者Q退出脚本,输入其他内容则直接用vim打开该shell脚本。#!/bin/bashsh -n $1 2>/tmp/sh.errif [ $? -ne 0 ]then    cat /tmp/sh.err    read -p "请输入q/Q退出脚本。" c    if [ -z "$c"]    then    vim $1        exit 0    fi    if [ $c == q ] || [ $c == Q ]    then    exit 0    else    vim $1    exit 0    fielse    echo "脚本$1没有语法错误."fi练习40输入一串随机数字,然后按千分位输出。 比如输入数字串为“123456789”,输出为123,456,789。#!/bin/bashn=`echo $1|wc -L`for d in `echo $1|sed 's/./& /g'`do    n2=$[$n%3]    if [ $n2 -eq 0 ]    then    echo -n ",$d"    else    echo -n "$d"    fi    n=$[$n-1]done |sed 's/^,//'echo

转载于:https://blog.51cto.com/12898947/2340032

你可能感兴趣的文章
浏览器的同源策略和跨域问题
查看>>
Python lambda函数
查看>>
模块与包以及自定义模块
查看>>
ANGULAR $HTTP请求
查看>>
mysql主从复制
查看>>
博客备份专家--豆约翰
查看>>
第七周
查看>>
java 字符串与字符数组相互转换
查看>>
遍历js的obj中所有属性得key
查看>>
Validate XML using a XSD (XML Schema)
查看>>
A Tour of Go Exercise: Errors
查看>>
Windows 7 转移用户文件夹
查看>>
Linux shell的环境配置和命令行技巧
查看>>
Objective-C中的SEL、IMP和Class类型(转)
查看>>
20180814 基于51单片机的数码相机实验指导书编写,继续挖坑
查看>>
数据库中的T-sql语句 条件修改 高级查询
查看>>
win7开机密码忘记了
查看>>
阿里前端两年随想
查看>>
day28(ajax之js原生代码实现)
查看>>
用自定义属性attr或prop方法,遍历获取当前点击a的titleid
查看>>