条件判断

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. <<< java如何调用系统程序

    通过 java.lang.Runtime 类用操作系统命令 然后调用run.exec()进程来执行命令程序 cmd /c dir 是执行完dir命令后关闭命令窗口. cmd /k dir 是执行完di ...

  2. mysql关联表的复制

    1. 复制被参照的表: CREATE TABLE clone_product_1 LIKE product_1; INSERT INTO clone_product_1 SELECT * FROM p ...

  3. OSI参考模型及各层功能,TCP与UDP的区别

    OSI参考模型:ISO/IEC 7498标准定义了网络互联的7层结构模型,即开放系统互连参考模型. OSI参考模型定义了开放系统的层次结构.层次之间的相互关系,以及各层所包括的可能的服务.OSI的服务 ...

  4. 网络抓包wireshark

    抓包应该是每个技术人员掌握的基础知识,无论是技术支持运维人员或者是研发,多少都会遇到要抓包的情况,用过的抓包工具有fiddle.wireshark,作为一个不是经常要抓包的人员,学会用Wireshar ...

  5. SourceTree推送时,增加额外的远程仓库,不用每次都自定义粘贴复制网络

    一.命令行添加 二.软件界面可以查看到结果 更新,以上是代码添加了远程仓库,最近,找到了不用代码,直接在文件夹里写地址来添加的方式.直接上图了.

  6. JavaScript闭包(Closure)学习笔记

    闭包(closure)是JavaScript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 下面就是我的学习笔记,对于JavaScript初学者应该是很有用的. 一.变量的作用域 要理解 ...

  7. CentOS6.3编译安装Memcached的PHP客户端memcache

    在安装Memcached的PHP客户端memcache之前,可先看下先前的工作笔记: PHP5不重新编译,如何安装自带的未安装过的扩展,如soap扩展? 安装PHP的memcache扩展 cd /us ...

  8. Shell入门教程:流程控制(4)case 条件判断

    case的语法结构: case 待测项 in 样式串1] 命令区域1 ;; (样式串2) 命令区域2 ;; 样式串3) 命令区域3 ;; *) 命令区域 ;; esac 命令区域,可以是单一指令或多行 ...

  9. java基础知识(四)java内存机制

    Java内存管理:深入Java内存区域 上面的文章对于java的内存管理机制讲的非常细致,在这里我们只是为了便于后面内容的理解,对java内存机制做一个简单的梳理. 程序计数器:当前线程所执行的字节码 ...

  10. 使用python列表推导式进行99乘法表

    首先这很python for i in range(1, 10): print(" ".join(["%d*%d=%d" % (j, i, i*j) for j ...