条件判断

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. SQL 事务回滚

    事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服 ...

  2. elastichq auto connect

    $(document).ready(function () { $('#connectionURL').focus(); ajaxloading.hide(); scrollToTop.activat ...

  3. DEDECMS标签调用汇总啊

    非常有用的标签调用的方法 关键描述调用标签: <meta name="keywords" content="{dede:field name='keywords'/ ...

  4. 创建NetWorkDataset---FileGDB篇

    /// <summary> /// 创建NetWorkDataset /// </summary> /// <returns>INetworkDataset.< ...

  5. (转)MySQL索引原理及慢查询优化

    转自美团技术博客,原文地址:http://tech.meituan.com/mysql-index.html 建索引的一些原则: 1.最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到 ...

  6. Java字节数组转按radix进制输出

    代码如下: public class Main_bytesToStr { public static void main(String[] args) throws IOException { // ...

  7. MySQL 5.6 新参数对binlog日志量的优化

    数据库版本:5.6.* 1.row日志image类型 参数binlog_row_image 控制着这种image类型,默认为FULL(log all columns),即记录before&af ...

  8. js 闭包 理解

    1.什么是闭包 定义:是指有权访问另一个函数作用域中的变量的函数 创建闭包:在一个函数内部创建另一个函数 基本特点 在返回的匿名函数中 可以调用外部函数的变量 如下例中所示 内部函数(匿名函数) 可以 ...

  9. Shell case esac语句

    case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构. case 语句匹配一个值或一个模式,如果匹配成功,执行相匹配的命令.case语句格式如下: ...

  10. golang的ssh包

    git clone https://github.com/golang/crypto.git,复制到 golang.org/x/ 目录下. 常常用来建立ssh连接发送一条命令,但有时需要模拟ssh客户 ...