推 hijkxyzuw: grep -q 'abc' $filename && grep -q '123' $filename03/28 18:52
這個我怎麼試都不行。
→ kenduest: grep -Rl --null "123" /path/ 2>/dev/null | \03/28 19:21
→ kenduest: xargs -0 grep -l "root"03/28 19:22
推 rickieyang: egrep -oH '123|ab' *|sed -e 's/:.*//'|sort|uniq -d03/29 08:54
→ rickieyang: 更正...03/29 08:55
→ rickieyang: egrep -oH '123|abc' *|sort|uniq|sed -e 's/:.*//'|\03/29 08:56
→ rickieyang: uniq -d03/29 08:56
若條件式只有1個或超過2個時,這樣的寫法一樣會找不出來。
※ 編輯: eric680826 (223.137.143.215), 03/29/2017 12:20:15
推 rickieyang: 只有一個就直接 grep 呀,超過兩個不能用 uniq -d 03/29 13:33
推 hijkxyzuw: 是 if grep 'abc' $filename && grep '123' $filename 03/29 13:54
→ hijkxyzuw: then echo $filename 03/29 13:54
→ hijkxyzuw: fi 03/29 13:54
推 nknudragon: egrep "123\|abc" 03/29 15:37
推 nknudragon: pcregrep -M '123.*(\n|.)*abc' file.log 03/29 15:45
推 nknudragon: grep -e "123.*(\n|.)*abc" file.log <-- 這沒試過 03/29 16:01
推 nknudragon: pcregrep -M '123.*\n.*abc' file.log 03/29 16:25
推 nknudragon: grep -Pzo "(?s)^(\s*)\N*main.*?{.*?^\1}" *.c 03/29 16:28
推 nknudragon: 上面的方法好像都只能找到 先出現123 , 再出現abc 03/29 18:45
→ Bellkna: grep -P '^(abc.*123|123.*abc)' 03/29 19:54
→ Bellkna: 這個應該可以去regexp板問看看 03/29 19:55
推 Vdragon: devide & conquer 如何?先找出有 A 式樣的檔案再從中找 03/30 13:10
→ Vdragon: 有 B 式樣的檔案 03/30 13:10
→ Vdragon: *divide 03/30 13:10
推 losepacific: grep -Pzl '(?s)(?=.23)(?=.1)(?=.*ab)' * 03/31 05:23
→ losepacific: 更正 grep -Pzl '(?s)(?=.*23)(?=.*1)(?=.*ab)' * 03/31 05:24
→ losepacific: 但以目前的例子應該寫成: 03/31 05:26
→ losepacific: grep -Pzl '(?s)(?=.*abc)(?=.*123)' * 03/31 05:27