⑴ 求一個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"
其實這里就是用答到了"[[" 判斷命令和 "=~"正則式匹配符號