Linux查找字符串用grep命令,可以查找文件,也可以在命令的結(jié)果中查找。如果是在文件中查找字符串,用法是:
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),疏附企業(yè)網(wǎng)站建設(shè),疏附品牌網(wǎng)站建設(shè),網(wǎng)站定制,疏附網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,疏附網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
grep 用英文單引號括起來的字符串 文件名
如果是在命令的顯示結(jié)果中查找,需要用管道符將命令與grep連接起來,像這樣:
last | grep 'root'
(在last命令的顯示結(jié)果中查找字符串root)
代碼如下:
str="/home/gateman"
if [ ${str:0:1} = "/"? ]; then
echo "yes'
fi
${str:0:1} 中0表示從第幾個(gè)字符開始,1表示截取多長。
Shell是一種腳本語言,那么,就必須有解釋器來執(zhí)行這些腳本,常見的腳本解釋器有:
bash:是Linux標(biāo)準(zhǔn)默認(rèn)的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的縮寫,內(nèi)部命令一共有40個(gè)。
sh:?由Steve Bourne開發(fā),是Bourne Shell的縮寫,sh 是Unix 標(biāo)準(zhǔn)默認(rèn)的shell。
另外還有:ash、 csh、 ksh等。
擴(kuò)展資料
Linux shell 截取字符變量的前8位:
實(shí)現(xiàn)方法有如下幾種:
expr substr “$a” 1 8
echo $a|awk ‘{print substr(,1,8)}’
echo $a|cut -c1-8
echo $
expr $a : ‘\(.\\).*’
echo $a|dd bs=1 count=8 2/dev/null
按照指定要求分割:
比如獲取后綴名
ls -al | cut -d “.” -f2
小結(jié):shell對應(yīng)字符串的處理方法很多,根據(jù)需求靈活選擇。
在做shell批處理程序時(shí)候,經(jīng)常會(huì)涉及到字符串相關(guān)操作。有很多命令語句,如:awk,sed都可以做字符串各種操作。 其實(shí)shell內(nèi)置一系列操作符號,可以達(dá)到類似效果,大家知道,使用內(nèi)部操作符會(huì)省略啟動(dòng)外部程序等時(shí)間,因此速度會(huì)非常的快。
grep 搜索同時(shí)滿足多個(gè)關(guān)鍵字和滿足任意關(guān)鍵字
1、 grep -E "word1|word2|word3" file.txt
滿足任意條件(word1、word2和word3之一)將匹配。
這樣也可以
egrep 'word1|word2|word3' 文件名
grep 'word1/|word2|word3' 文件名
錯(cuò)誤的:
grep 'word1|word2|word3'
2、 grep word1 file.txt | grep word2 |grep word3
必須同時(shí)滿足三個(gè)條件(word1、word2和word3)才匹配。
為什么需要加-E
1、grep [選項(xiàng)] 字符串 文件名(在文件中匹配符合條件的字符串)
選項(xiàng):
-i 忽略大小寫
-v 排除指定的字符串
例子:
grep "test" a.txt(在a.txt中搜索匹配test的字符串)
注意:
find命令:在系統(tǒng)中搜符合條件文件名,使用通用符,通用符是完全匹配
grep命令:在文件中搜索符合條件字符串,使用正則匹配,正則包含匹配