1樓:匿名使用者
樓主你好!
grep 是用於尋找檔案中的匹配指定的表示式的行,並把該行顯示出來。
你所制定的表示式 [a-z]\,是匹配一個或一個以上的小寫字母。
而該行abc_def中,符合該條件的有:
a, b, c, ab, bc, abc, d, e, f, de, ef, def
因此grep 會把該行的內容顯示出來。
希望有所幫助。
2樓:匿名使用者
grep的意思是找到匹配,如果要全文匹配在首尾分別加上^,$謝謝。
shell (e)grep正規表示式問題
3樓:不知詳解
單引號和雙引號可以連在一起用:
>a=2
>echo '$a='"a"
$a=2你要注意$2的內容會被作為正規表示式解釋,他不能含有正規表示式元字元。
grep -p '^s+'"2"'$file
4樓:防毒面罩
樓主且看我實驗。
[root@master ~]# cat -a temp$ 2$
$2$$2 aaa$
$^i2$[root@master ~]# grep -n ^\2$ temp
---說明:cat -a 顯示檔案的所有控制字元,在每行結束處顯示"$"將跳格字元(tab鍵)顯示為^i, 給你詳解一下我每一行的字元如下,第一行:空格$空格2
第二行:$空格2
第三行:$2空格。
第四行:$2
第五行:$2空格空格aaa
第六行:$tab鍵2
然後grep -n 列印輸出行的行數。 ^2$, 去掉$的元字元額特殊解釋。 然後^匹配開始,$匹配技結束,就得到第四行則是你想要的字串$2單獨為一行的輸出。
grep匹配正規表示式的問題
5樓:讓服務成就美好生活
grep 預設顯示匹配到的行。
如果只顯示匹配到的字元**引數-o
也就是說你命令這樣寫能達到你想要的目的。
grep -o -n '^a-z]' regular_
6樓:匿名使用者
你確定?你所寫的僅表示以小寫字母開頭的行,並非單個字元。如果要表示單個字元還得在尾部加上$符號。
linux下grep的正規表示式問題 10
7樓:匿名使用者
grep -t試試呢。
man grep裡的說明裡你看看有沒有你要的。
shell正規表示式問題
8樓:不知詳解
在linux系統下正規表示式有多種語法。不同軟體的語法也有不同。grep vim php c++ shell 所使用的正則式都有所差異。
grep 本身就支援多種。參見手冊的 -g -e -p 引數。
grep 要加一個 -p 參數列示使用perl正規表示式,或者使用-e 參數列示元字元擴充套件:
ls -1 |grep -p '(uxv)'
如果不加這兩個引數。
對於( 和{ 就必須寫成 \(
9樓:匿名使用者
第一個應該是對的!!我用php測試過,不知道shell下是怎樣的。 方便的話發shell原始碼給我,我看看,謝謝。
shell 正規表示式問題
10樓:網友
問題描述應該是這樣的:"去除多餘的雙引號,即,對多個連續的雙引號,只保留一個"。
因此,這樣就可以了:
sed -r 's/"+g' 正則中,+表示重複前面一個字元1次或以上(至少一次)。
當然,也可以寫為:
sed -r 's/"/g' 表示2次或以上。這樣,出現1次的就可以不用處理。
實測結果如下:
11樓:匿名使用者
下面的 2個正規表示式執行後 全部失敗 請高手幫幫忙看看 是怎麼回事。原始資料:
正規表示式替換後資料。
sed -i /system/ -e 's/^[#;]*0-9a-za-z]\[t]=[t][0-9.:]0-9a-za-z]\\122222222222222222222/g'原始資料:
正規表示式替換後資料。
sed -i /system/ -e 's/^[#;]*0-9a-za-z]\\0-9a-za-z]\\122222222222222222222/g'
字串uxv連續出現了10次(就是uxvuxvuxv...的正規表示式是什麼?
(uxv)? 這樣實驗過,不對。
uxv 是表示字元v出現了10次。
shell grep中的正規表示式如何匹配星號
12樓:匿名使用者
其實你寫的方法是對的,就是需要注意一個問題,就是檔案的格式。
如果是linux檔案的格式,你的寫法沒有任何問題。
但是如果是windows的話就錯了。。你試試。
13樓:匿名使用者
在星號前加轉意字元\
shell grep命令的多個正規表示式 組合使用。
14樓:匿名使用者
可以使用 perl 正規表示式。
grep -p "\b(?!0-9]|[a-z]))0-9a-z]\b"
15樓:月輪天唯五
grep -p "\b(?!0-9]|[a-z]))0-9a-z]\b" log
推薦在linux下多使用man命令。
man grep
請教一個grep正規表示式字串匹配的問題
16樓:匿名使用者
grep可以,加上引數-o,其可用的最好的正規表示式引擎是perl風格的,需要在命令列加引數-p
籠統地說正規表示式沒有意義,不同的語言利用正規表示式完成匹配後,想輸出什麼,和正規表示式已經沒有關係了,完全看程式的邏輯,grep加上-o引數其實就是實現了「輸出匹配」的邏輯。
如你的例子,假設內容存在中,則grep -p -o "a_[^sz_]*z" 如果只要中間的,不要a_和_z,則。
grep -p -o "(a_)[sz_]*z)"
正規表示式中如何替換自身,正規表示式如何替換並修改自身的部分內容?
正則式 d 加圓括號表示分組並作為 反向索引 d表示一位數字 替換為 1a 1表示引用第1個組,對每個數字,替換為它本身跟上字母a 我用的emeditor,不同環境正則式語法也有差別。d可用 0 9 替代 1在有些環境中是 1 計名 其實,1 和 2 之間有 b 2 和 3 之間 b 123 s b...
c正規表示式
轉義字元 可接收字元 不可接受字元 匹配前後表示式 分組 連字元 0次或n次 1次或n次 0次或一次 起始字元 結束字元 只能輸入n個字元 至少輸入n個字元 輸入n到m個字元 匹配任何字元除 n 換行字元 d 匹配當個數字 0 9 d 非數字 w 匹配 0 9a za z 第二體 就是一個一個分析就...
正規表示式如何匹配出最短字串,正規表示式如何匹配除某些字串以外的所有字元
當正規表示式中包含能接受重複的限定符時,通常的行為是 在使整個表示式能得到匹配的前提下 匹配儘可能多的字元。考慮這個表示式 a.b,它將會匹配最長的以a開始,以b結束的字串。如果用它來搜尋aabab的話,它會匹配整個字串aabab。這被稱為貪婪匹配。有時,我們更需要懶惰匹配,也就是匹配儘可能少的字元...