[問題] grep 跳脫字元? → "--"
想請教一個問題
小弟最近要查 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.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 編輯: aisme21 來自: 114.198.168.77 (11/16 00:57)
→
11/16 01:04, , 1F
11/16 01:04, 1F
→
11/16 03:20, , 2F
11/16 03:20, 2F
→
11/16 09:41, , 3F
11/16 09:41, 3F
他和原文中 grep -l "RUN " a*.4gl|grep -v "--RUN" 的結果是一樣的 illegal option
如果改成
xargs grep -v "\-\-RUN" 不但會將--RUN的程式給LIST出來,也把程式內容也SHOW出來
※ 編輯: aisme21 來自: 114.198.168.77 (11/16 11:38)
推
11/16 13:59, , 4F
11/16 13:59, 4F
→
11/16 14:45, , 5F
11/16 14:45, 5F
→
11/16 15:01, , 6F
11/16 15:01, 6F
→
11/16 15:32, , 7F
11/16 15:32, 7F
可以請各位大大先不要鞭我嗎? 剛住意到有--RUN的程式,裏面也夾雜RUN開頭的行,我沒
有看,只看到第一個搜尋到的RUN = =" 真的很抱歉呀,先留言致歉一下。
我趕緊TRY各位大大提供的指令試試,是那一個能找到正確的檔案,稍後再來更新。
※ 編輯: aisme21 來自: 210.202.210.251 (11/16 15:53)
@@ 雖然我的發現,但還是沒能改變結果,我把目錄下檔案數縮到只有二個在找,因為以上
的指令(含kdjf大提供的 -- --第一次看到)同樣都會把單純只有--RUN開頭的或RUN開頭的
檔案都LIST出來。要不,就是 permission denied
※ 編輯: aisme21 來自: 210.202.210.251 (11/16 16:02)
→
11/16 17:14, , 8F
11/16 17:14, 8F
grep: illegal option -- L
man grep 沒有L選項。
附帶一提,我的作系統AIX
※ 編輯: aisme21 來自: 210.202.210.251 (11/16 17:43)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):