ฉันมีปัญหาในการค้นหาเนื่องจากการแขวนที่/var
/var/run
ฉันพยายามยกเว้น/var/run
แต่ไม่ได้ผลลัพธ์ที่คาดหวัง:
$ sudo grep -IR --exclude-dir="/var/run" '45.78.157.165' /var | egrep -v '(audit|access)'
/var/log/secure:Jun 21 14:08:34 cryptopp sshd[19729]: error: Received disconnect from 199.91.135.157: 3: com.jcraft.jsch.JSchException: reject HostKey: 45.78.157.165 [preauth]
/var/log/secure-20160626:Jun 21 14:08:34 cryptopp sshd[19729]: error: Received disconnect from 199.91.135.157: 3: com.jcraft.jsch.JSchException: reject HostKey: 45.78.157.165 [preauth]
/var/log/secure-20160626:Jun 21 14:08:34 cryptopp sshd[19729]: error: Received disconnect from 199.91.135.157: 3: com.jcraft.jsch.JSchException: reject HostKey: 45.78.157.165 [preauth]
grep: /var/run/saslauthd/mux: No such device or address
grep: /var/run/dbus/system_bus_socket: No such device or address
grep: /var/run/rpcbind.sock: No such device or address
grep: /var/run/udev/control: No such device or address
ฉันได้พยายามทั้งสองและ-exclude-dir=/var/run
-exclude-dir="/var/run"
ทั้งคู่ให้ผลลัพธ์ที่เหมือนกัน
ทำไม grep ของฉันถึงล้มเหลว
ฉันจะแยก/var/run
ออกจาก grep แบบเรียกซ้ำได้อย่างไร
CentOS 7.2 โดยมี Grep:
$ grep --version
grep (GNU grep) 2.20
Copyright (C) 2014 Free Software Foundation, Inc.
@ JakeGould - ใช่; ทั้งที่มีและไม่มี ให้ฉันได้รับการเพิ่มคำถาม
—
jww
@ JakeGould มันไม่ต่างกัน:
—
wchargin
grep
กระบวนการไม่เห็นราคาในทั้งสองกรณี ทุบตีขยายพวกเขาและไม่มีการทดแทนที่จะดำเนินการดังนั้นพวกเขาจะถูกลบออกเพียงแค่ นี่เป็นกรณีสำหรับเชลล์ทั้งหมดที่ฉันรู้จัก
--exclude-dir=/var/run
โดยไม่มีคำพูด?