grep 跳脫字元? → "--" - Linux

Thomas avatar
By Thomas
at 2010-11-16T16:24

Table of Contents

我試了一下

$ echo run >a
$ echo --run >b
$ echo xxxx >c
$ echo xx --run >d

$ grep -l run *
a
b

$ grep -vl run *
c

$ grep -l run * | xargs grep -vl -- --run
a

$ grep -l run * | xargs grep -vl -- ^--run
a
d

我跑得好好的啊?


※ 引述《aisme21 (有種東西叫方向燈)》之銘言:
: 想請教一個問題
: 小弟最近要查 call 與 RUN 寫在程式中是不是會因為 RUN 程式名稱,所以會多了一個
: sessionID,而call function卻不會的問題。
: 所以我在grep系統的程式要grep -l "RUN " a*.4gl
: 但我同時不要前面有註解"--RUN" 有二個 dash符號打頭的那一行,
: 可是我現在command下
: grep -l "RUN " a*.4gl|grep -v "--RUN"
: 它會出現↓
: grep: illegal option -- -
: grep: illegal option -- R
: grep: illegal option -- U
: grep: illegal option -- N
: usage: grep [-E|-F] [-c|-l|-q] [-insvxbhwy] [-p[parasep]] -e pattern_list...
: [-f pattern_file...] [file...]
: usage: grep [-E|-F] [-c|-l|-q] [-insvxbhwy] [-p[parasep]] [-e pattern_list...]
: -f pattern_file... [file...]
: usage: grep [-E|-F] [-c|-l|-q] [-insvxbhwy] [-p[parasep]] pattern_list
: [file...]
: 如果改成了
: grep -l "RUN " a*.4gl|grep -v "\--RUN"
: 它會執行,但仍然把 --RUN 打頭的程式給list出來,所以沒有達到grep -v的目的
: 所以我該怎麼下?
: 我也試過 grep -l "RUN " a*.4gl|`grep -v "\--RUN"`
: ksh: ac001.4gl: 0403-006 Execute permission denied.

--
Tags: Linux

All Comments

Kumar avatar
By Kumar
at 2010-11-18T05:20
好奇怪, grep -l run*,不是應該abc,怎麼才ab而已
Annie avatar
By Annie
at 2010-11-23T03:25
講錯,是 abd
Sarah avatar
By Sarah
at 2010-11-25T23:00
*是上個字重復>=0次, shell中的"*"=>regex中的".*"
Candice avatar
By Candice
at 2010-11-28T17:56
我也覺得很怪,試了那麼多指令,還是把--RUN的檔案LIST
Quanna avatar
By Quanna
at 2010-11-30T11:17
你叫grep把找到的字印出來好了,說不定哪了.*RUN的東西
David avatar
By David
at 2010-11-30T13:34
不過我手動vi去找RUN,確認過無其他RUN*的關係字
Tracy avatar
By Tracy
at 2010-12-02T09:43
看來解決的方法就是自已寫program了.... 來看看awk寫得出來否
Heather avatar
By Heather
at 2010-12-06T13:16
嗯嗯,我剛用手動去 awk '/RUN/' *,查到的結果也和我用
vi 去搜尋的結果是一樣的,沒有其他行列有*RUN*的字串
Margaret avatar
By Margaret
at 2010-12-07T23:44
謝謝 k大,我再寫script去找找看

grep 跳脫字元? → "--"

Bennie avatar
By Bennie
at 2010-11-15T23:36
想請教一個問題 小弟最近要查 call 與 RUN 寫在程式中是不是會因為 RUN 程式名稱,所以會多了一個 sessionID,而call function卻不會的問題。 所以我在grep系統的程式要grep -l and#34;RUN and#34; a*.4gl 但我同時不要前面有註解and#34;- ...

在Virtual PC上安裝Opensuse

George avatar
By George
at 2010-11-15T21:59
※ 引述《rainellen (便當)》之銘言: : 我的本機是XP。 : 用Virtual PC裝了opensuse, : opensuse又裝了tomcat。 : 在Opensuse裡面運行,打開Firefox都可以連到google, tomcat admin page. : 但是想要透過本機(XP)連到 ...

不在xwindow底下要怎麼讓bash支援中文?

Kyle avatar
By Kyle
at 2010-11-15T21:25
剛剛用tintin++玩mud的時候突然異想天開 and#34;如果用純console來玩應該會很爽吧?and#34; 就按了ctrl+alt+f1進去tty1 不過就算先下了$ LANG=zh_TW.BIG5 ; export 這個指令還是沒辦法正確顯示中文 (我有在home下過ls,看到的中文亂碼 ...

請問Linux Mint下用firefox下載utube影片

Faithe avatar
By Faithe
at 2010-11-15T19:44
最近開始用的系統,可是不知道為什麼,之前用的一些嵌在utube裡的下載外掛 (easy utube video downloader) 沒辦法下載,以為是不支援中文路徑的關係 因為下載路徑裡的中文是亂碼,換了幾款外掛後都無法正確下載檔案 按下去下載的按鈕後,一樣會顯示要存檔到哪裡,然後也會顯示有檔案正在 ...

何在虛擬主機下建立與XP互通的資料夾

Carol avatar
By Carol
at 2010-11-15T19:36
我想請問我在XP下用虛擬主機安裝SUSE 那我要如何在SUSE下建立一個跟XP互通的資料夾 方便互相傳檔 - ...