⑴ 求一个shell脚本:实现判断一个文件是否包含某内容,如果包含,刚删除所在的行(或替换该行);如果
#!/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需要改成你说的那个文件的名字及路径。
⑵ 如何在shell中判断A字符串中是否包含B字符串
stra="thisisastring"
strb="astring"
pos=$(printf"$stra"|awk-vstrb="$strb"'{printindex($0,strb)}')
if[$pos-ne0];then
printf"stracontainsstrb "
else
printf"stradoesnotcontainstrb "
fi
⑶ Shell awk命令嵌套if...elif... else写法
awk '
{
if ($1==1)
print "A"
else if ($1==2)
print "B"
else
print "C"
}'
#命名来为源1.sh
执行方法:echo "1" | sh 1.sh
写成一行:
echo "3" | awk '{if ($1==1) print "A"; else if ($1==2) print "B"; else print "C"}'
⑷ 关于linux中shell脚本如何判断文件名称中是否含有某字符串
if [ -e filename ];
我觉得是你括号错了…此外这种括号不能用通配符…试试[[]]?不行可以用for代替if
⑸ linux shell的if语句
echo "你继续吗?Y or N"
read ANSWER
if [ “$ANSWER” = “Y” -o “$ANSWER” = “y” ] ; then
echo "你选内择了$ANSWER";
elif [ “$ANSWER” = “N” -o “$ANSWER” = “n” ] ; then
echo "你选择了$ANSWER";
else
echo "输入错误"
exit
fi
-----你试试容
⑹ shell的if命令如何判断一个文件中所含指定字符串
grep"80"/var/1.log>/dev/null
if[$?-eq0];then
echo"Found!来"
else
echo"Notfound!"
fi
用$?取上自条grep命令的返回结果。
⑺ 怎么用shell脚本语言,判断输入的字符串是否包含字母或者数字
|
read-p"请输抄入一袭个字符串"str
ifecho"$str"|grep"[a-zA-Z]">/dev/null&&echo"$str"|grep"[0-9]">/dev/null
then
echo"yes"
else
echo"no"
fi
⑻ Bash Shell怎么判断字符串的包含关系
if [ `echo abcd|grep ab|wc -l` -eq 1 ];then
echo ok
fi
⑼ Linux下shell脚本中“if”语法怎么嵌套例子
shell脚本中的or和C语言类似,也是用||(两个竖杠)表示or逻辑。但是在shell脚本中,有严格的执行顺序要求,前一条命令或语句返回false,||的下一条语句或命令才会执行。
⑽ shell 判断变量中是否包含某个字符串
||比如变量是str
str="this is a string"
要想在判断str中是否含有"this"这个字符串,下面的语句是可行的
[[ $str =~ "this" ]] && echo "\$str contains this"
[[ $str =~ "that" ]] |回| echo "\$str does NOT contain this"
其实这里就是用答到了"[[" 判断命令和 "=~"正则式匹配符号