条件判断

if [[ -e ${1} ]]; then
echo "$(tput setaf 2) found ${1} $(tput sgr0)"
cat ${1}
else
echo "$(tput setaf 1) not found ${1} $(tput sgr0)"
exit 1
fi //简化
[[ -e ${1} && -e ${2} ]] && cat ${1} > ${2} //判断取反 txt='4.txt' if ! [[ -e ${txt} ]]; then
touch ${txt}
echo "touch ${txt}; name length ${#txt}"
fi //多重选择 bold=$(tput bold)
underline=$(tput smul)
normal=$(tput sgr0)
red=$(tput setaf 1)
green=$(tput setaf 2) if [[ -e 'a1.txt' ]]; then
echo "${bold}${underline}${green} search a{1..5}.txt ${normal}"
ls a{1..5}.txt 2> log.txt
elif [[ -e 'b1.txt' ]]; then
echo "${bold}${underline}${green} search b{1..5}.txt ${normal}"
ls b{1..5} txt 2>> log.txt
else
echo "${bold}${underline}${red} create a{1..4}.txt ${normal}"
touch a{1..5}.txt
fi

显示时间

//查找文件
start=$(date +%s)
echo 'start search' find ~/ -name '*.txt' &> log.txt echo 'end search' end=$(date +%s) //%s以秒为单位
difference=$(( end - start))
echo "Time is ${difference} seconds". //显示具体的执行时间
echo 'start search'
time find ~/ -type f -name '*txt' &> log.txt //仅仅是文件
echo 'end search' //计时器
echo '- Count Start'
tput sc //存储光标位置
count=0 while [[ ${count} -lt 20 ]]
do
let count++
sleep 1 //延迟一秒
tput rc //恢复光标位置
tput ed //清除从当前光标位置到行尾之间的所有内容
echo "- ${count}"
done echo "- Count End"

循环

//循环创建文件
for i in file{1..9}.txt
do
if [[ -e ${i} ]]
then
echo "find ${i} skip"
else
echo "start create ${i}"
touch ${i}
fi
done
echo "finished" //判断空文件
files=$(echo *.txt)
normal=$(tput sgr0)
type="%-10s %-8s\n" printf "$(tput bold)${type}" name blank
printf ${normal}
for file in ${files}; do
check=true
color=$(tput setaf 1)
test -s ${file} && check=false color=$(tput setaf 2)
printf "${color}${type}" ${file} ${check}
printf ${normal}
done

简单编辑

//去除空白
cat $1 | sed '/s //g' > new.log //sed 's/要被取代的字串/新的字串/g' //对特定格式的文档计算重复值
//log.txt
account1:passwd1
account2:passwd2
account3:passwd3
account2:passwd4
account4:passwd5
account6:passwd6
account1:passwd7 //
awk -F: 'x[$1]++ {print $1 " is duplicated"}' log.txt //awk -F 指定分割字符

shell example01的更多相关文章

  1. Shell 基础笔记

    1-22-shell脚本的基础 本节所讲内容:      shell 基本语法      变量 第1章 什么是SHELL?.. 2 1.1 shell编程.. 3 第2章 shell变量及运用.. ...

  2. Shell替换

    如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. #!/bin/bash a= echo -e "Value of a is ...

  3. Shell特殊变量

    $ 表示当前Shell进程的ID,即pid $echo $$ 运行结果 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数 ...

  4. shell变量

    定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名 ...

  5. 第一个shell脚本

    打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好. #!/bin/bash echo "Hello World !" &quo ...

  6. shell简介

    Shell作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. shell使用的熟练程度反映了用户对U ...

  7. Shell碎碎念

    1. 字符串如何大小写转换 str="This is a Bash Shell script." 1> tr方式 newstr=`tr '[A-Z]' '[a-z]' < ...

  8. MongoDB学习笔记二—Shell操作

    数据类型 MongoDB在保留JSON基本键/值对特性的基础上,添加了其他一些数据类型. null null用于表示空值或者不存在的字段:{“x”:null} 布尔型 布尔类型有两个值true和fal ...

  9. 使用C#给Linux写Shell脚本

    在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之 ...

随机推荐

  1. primefaces 查询 点击按钮 加载 动画 ajax loader

    只要在/WEB-INF/template.xhtml中body 里面加入: <ui:insert name="status"> <p:ajaxStatus sty ...

  2. WebView与JS的几种交互

    http://www.jianshu.com/p/0042d8eb67c0 最近整理了一下原生与H5之间的交互方式,简单的做个总结.OC端与JS的交互,大致有这几种:拦截协议.JavaScriptCo ...

  3. Kafka实战-Flume到Kafka

    1.概述 前面给大家介绍了整个Kafka项目的开发流程,今天给大家分享Kafka如何获取数据源,即Kafka生产数据.下面是今天要分享的目录: 数据来源 Flume到Kafka 数据源加载 预览 下面 ...

  4. 11月6日上午PHP练习《租房子》解析

    一.题目要求 二.题目做法 1.建立数据库 2.封装类文件 <?php class DBDA { public $fuwuqi="localhost"; //服务器地址 pu ...

  5. 10月25日下午PHP静态、抽象、接口

    多态(运行多态)概念:当父类引用指向子类实例,由于子类里面对父类的方法进行了重写,父类引用在调用该方法的时候表现出的不同状态.条件:1.必须发生在继承下2.必须重写父类方法3.父类引用调用该方法 如果 ...

  6. C#内存管理与垃圾回收

    垃圾回收还得从根说起,就像生儿育女一样. 根:根是一个位置,存放一个指针,该指针指向托管堆中的一个对象,或是一个空指针不指向任何对象,即为null.根存在线程栈或托管堆中,大部分的跟都在线程栈上,因为 ...

  7. MyBatis源码分析(1)——整体依赖关系图

    后续补充更新

  8. c语言求数组长度

    在定义数组的函数内 int arr[] = {12.12}; int length; length = ]; 在别的函数中作为引用数据类型引入时,以上方法失效: 解决方法1:再传一个int 类型的长度 ...

  9. Redis【知识点】批量删除指定Key

    Redis中有删除单条数据的命令DEL但是他没有批量删除多条数据的方法,那我们怎么去批量删除多条数据呢! 第一种方式 /work/app/redis/bin/redis-cli -a youpassw ...

  10. ThinkPHP配置简单的mysql读写分离

    ThinkPHP内置了分布式数据库的支持,包括主从式数据库的读写分离,但是分布式数据库必须是相同的数据库类型. 配置DB_DEPLOY_TYPE 为1 可以采用分布式数据库支持.如果采用分布式数据库, ...