Saya mengalami masalah dalam mencari /var
karena hang di /var/run
. Saya mencoba mengecualikan/var/run
, tetapi tidak menghasilkan hasil yang diharapkan:
$ 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
Saya sudah mencoba keduanya -exclude-dir=/var/run
dan -exclude-dir="/var/run"
. Keduanya menghasilkan hasil yang sama.
Mengapa grep saya gagal?
Bagaimana saya mengecualikan /var/run
grep rekursif?
CentOS 7.2, dengan Grep:
$ grep --version
grep (GNU grep) 2.20
Copyright (C) 2014 Free Software Foundation, Inc.
@JakeGould - ya; baik dengan dan tanpa. Biarkan saya menambahkannya ke pertanyaan.
—
jww
@JakeGould Tidak ada bedanya:
—
wchargin
grep
proses tidak melihat tanda kutip dalam kedua kasus. Bash memperluas mereka, dan tidak ada substitusi yang harus dilakukan, sehingga mereka hanya dihapus. Ini adalah kasus untuk semua kerang yang saya tahu.
--exclude-dir=/var/run
tanpa tanda kutip?