亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 請(qǐng)教字符串匹配和awk獲取shell變量值的問(wèn)題。 [打印本頁(yè)]

作者: dickgz1z    時(shí)間: 2010-06-13 10:39
標(biāo)題: 請(qǐng)教字符串匹配和awk獲取shell變量值的問(wèn)題。
本帖最后由 dickgz1z 于 2010-06-13 11:01 編輯

1)=====1.txt
aawww:cc:uuvvvmmmiiaaaaccc:ttto
www:cc:uuaaaabbbnnn:ttto
kkkk:cc:uuaaaacccdddnnn:ttto
aawww:cc:uuvvvmmmiiccc:ttto
kkkk:cc:aaaaccooooocdddnnn:ttto:ppppp

像上面這一段文本,我用一條awk命令:
  1. awk -F":" '$3~/[uu*mm*cc]/{print}' 1.txt
復(fù)制代碼
想獲取這幾行:
aawww:cc:uuvvvmmmiiaaaaccc:ttto
aawww:cc:uuvvvmmmiiccc:ttto

但是打印結(jié)果卻是:
aawww:cc:uuvvvmmmiiaaaaccc:ttto
www:cc:uuaaaabbbnnn:ttto
kkkk:cc:uuaaaacccdddnnn:ttto
aawww:cc:uuvvvmmmiiccc:tttoo
kkkk:cc:aaaaccooooocdddnnn:tttoo:ppppp

全部輸出。似乎它連帶匹配了uu*或mm*或*cc的情況,但這并不是我的本意。請(qǐng)問(wèn)怎樣寫(xiě)命令才能得到想要的結(jié)果?

2)另外如果我把代碼獨(dú)立出來(lái)到一個(gè)shell文件,并將變量提取出來(lái),如下:
======1.sh
  1. #!/bin/sh
  2. UU="uu"
  3. MM="mm"
  4. CC="cc"
  5. awk -F":" '$3~/[$UU*$MM*$CC]/{print}' 1.txt
復(fù)制代碼
執(zhí)行這個(gè)shell腳本卻沒(méi)有輸出.


在awk里面怎么獲取shell的字符串變量值呢?
作者: ly5066113    時(shí)間: 2010-06-13 10:48
  1. #!/bin/sh

  2. UU="uu"
  3. MM="mm"
  4. CC="cc"

  5. awk -F ":" "\$3~/$UU.*$MM.*$CC/" 1.txt
復(fù)制代碼

作者: jiean    時(shí)間: 2010-06-13 10:59
awk -F":" '$3~/u+[^u]+m+[^m]+c+/{print $0}'
作者: dickgz1z    時(shí)間: 2010-06-13 11:02
本帖最后由 dickgz1z 于 2010-06-13 11:05 編輯
ly5066113 發(fā)表于 2010-06-13 10:48


我剛才定義變量時(shí)是打錯(cuò)了.謝謝,你的寫(xiě)法可行.
作者: dickgz1z    時(shí)間: 2010-06-13 11:18
awk -F":" '$3~/u+[^u]+m+[^m]+c+/{print $0}'
jiean 發(fā)表于 2010-06-13 10:59


謝謝,就是這樣寫(xiě)了!!
作者: iori809    時(shí)間: 2010-06-14 16:41
sed -n '/u\+v\+/p' linux.166
作者: ccsjx    時(shí)間: 2010-06-14 20:02
sed -n '/u\+v\+/p' linux.166
iori809 發(fā)表于 2010-06-14 16:41



    u\+v\+
這個(gè)正則表達(dá)式表示什么意思?
作者: Shell_HAT    時(shí)間: 2010-06-14 20:21
回復(fù) 7# ccsjx


u\+表示u出現(xiàn)1次或多次
v\+表示v出現(xiàn)1次或多次
作者: ccsjx    時(shí)間: 2010-06-14 20:30
回復(fù) 8# Shell_HAT


    我知道了。因?yàn)闆](méi)有加-r選項(xiàng),不支持?jǐn)U展正則,所以要用"\'。




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2