Tôi đang gặp khó khăn khi tìm kiếm /var
do bị treo tại /var/run
. Tôi đã cố gắng loại trừ/var/run
, nhưng nó không tạo ra kết quả như mong đợi:
$ 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
Tôi đã thử cả hai -exclude-dir=/var/run
và -exclude-dir="/var/run"
. Cả hai đều cho kết quả như nhau.
Tại sao grep của tôi thất bại?
Làm thế nào để tôi loại trừ /var/run
khỏi một grep đệ quy?
CentOS 7.2, với Grep:
$ grep --version
grep (GNU grep) 2.20
Copyright (C) 2014 Free Software Foundation, Inc.
@JakeGould - vâng; cả có và không có. Hãy để tôi có được thêm vào câu hỏi.
—
jww
@JakeGould Không có gì khác biệt:
—
wchargein
grep
quá trình không thấy dấu ngoặc kép trong cả hai trường hợp. Bash mở rộng chúng, và không có sự thay thế nào được thực hiện, vì vậy chúng chỉ đơn giản là bị loại bỏ. Đây là trường hợp cho tất cả các vỏ mà tôi biết.
--exclude-dir=/var/run
mà không có dấu ngoặc kép?