jcgj.net
当前位置:首页 >> shEll脚本 字符串包含 >>

shEll脚本 字符串包含

#!/bin/sh str="abc" bb=`echo $str|grep 'a'|wc -l` if [ $bb = 0 ] then echo "no contain" else echo "contain" fi

比如变量是str str="this is a string" 要想在判断str中是否含有"this"这个字符串,下面的语句是可行的 [[ $str =~ "this" ]] && echo "\$str contains this" [[ $str =~ "that" ]] || echo "\$str does NOT contain this" 其实这里就是用到了"[...

grep "80" /var/1.log >/dev/nullif [ $? -eq 0 ]; then echo "Found!"else echo "Not found!"fi用$?取上条grep命令的返回结果。

sed -i '/cat/d' example.txt

比如: a=1234567890 b=456 echo $s | grep "$b" if [ 0 = $? ]; then echo "string a include string b" fi

sed "s/zip/$zip/g" file sed双引号可以识别变量

用正则匹配就可以了。 shell脚本regex正则表达式 和 字符串替换 任意字符 ^行首匹配 $行尾匹配 ^$表示空行,不含字符的行 ^ $匹配只有单个空格的行 [0-9] [a-zA-Z] ^[A- Z]搜索以大写字母开头的行 [^A-Z]匹配大写字母意外的任意字符 *表示匹配0个...

stra="this is a string"strb="a string"pos=$(printf "$stra" | awk -v strb="$strb" '{ print index($0, strb) }')if [ $pos -ne 0 ]; then printf "stra contains strb\n"else printf "stra does not contain strb\n"fi

if [ -e filename ]; 我觉得是你括号错了…此外这种括号不能用通配符…试试[[]]?不行可以用for代替if

网站首页 | 网站地图
All rights reserved Powered by www.jcgj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com