Ich habe Probleme beim Suchen /var
wegen eines hängen an /var/run
. Ich versuchte zu ausschließen /var/run
, aber es führt nicht zu erwarteten Ergebnissen:
$ 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
Ich habe beide probiert -exclude-dir=/var/run
und -exclude-dir="/var/run"
. Beide produzieren die gleichen Ergebnisse.
Warum versagt mein Grep?
Wie schließe ich aus? /var/run
von einem rekursiven Grep?
CentOS 7.2 mit Grep:
$ grep --version
grep (GNU grep) 2.20
Copyright (C) 2014 Free Software Foundation, Inc.
grep
In beiden Fällen werden die Anführungszeichen nicht angezeigt. Bash erweitert sie, und es muss kein Ersatz durchgeführt werden, sodass sie einfach entfernt werden. Dies ist der Fall für alle Muscheln, die ich kenne.
--exclude-dir=/var/run
ohne die Anführungszeichen?