shell-条件判断

shell-条件判断,第1张

常用 *** 作

数值比较 [ 整数 1 *** 作符 整数 2 ]

[ 1 -gt 10 ] 大于

[ 1 -lt 10 ] 小于

[ 1 -eq 10 ] 等于

[ 1 -ne 10 ] 不等于

[ 1 -ge 10 ] 大于等于

[ 1 -le 10 ] 小于等于

注:建议

在(()) 中使用

==或=

!=

>

>=

<

<=

[]符号

-a 并且

-o 或者

[[]]

&&并且

|| 或者

=检测两个字符串是否相等,相等返回 true。

!= 检测两个字符串是否不相等,不相等返回 true。

-z 检测字符串长度是否为0,为0返回 true。

-n 检测字符串长度是否不为0,不为0返回 true。

正则需要使用条件符号 [[]]

=~表示正则匹配

小结:

YDAY=$(date +"%Y%m%d" -d "-1 days")

TDAY=$(date +"%Y%m%d")

awk  -v YDAY=$YDAY  -v TDAY=$TDAY '

NR==1 {

if(substr($0,20,8)==YDAY)

    $0=substr($0,1,19) TDAY substr($0,28)

if(substr($0,34,8)==YDAY)

    $0=substr($0,1,33) TDAY substr($0,42)

}

/^TH/{

if(substr($0,21,8)==YDAY)

    $0=substr($0,1,20) TDAY substr($0,29)

}

{print }'  文件名

#!/bin/bash

read -p "请输入目的内容:"  varchar

grep "$varchar" filename && sed -i "/$varchar/d" filename || echo $varchar >>filename

exit

详细解释:

第1行:申明/解释脚本用的是bash

第2行:用read读取你输入的内容,然后复制给varchar

第3行:在文件filename中查找刚刚你输入的内容,&&表示如果找到了内容就执行后面的命令,||表示如果没找到则执行后面的内容;那么完整解释就是,当前面查找到你输入的内容时,则执行sed -i "***/d" 删除命令,而没有查找到则执行||后面的追加内容命令。

第4行:退出脚本

Ps:filename需要改成你说的那个文件的名字及路径。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11665723.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存