で/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 2016
@JakeGould違い
—
wchargin
grep
はありません。どちらの場合も、プロセスは引用符を表示しません。Bashはそれらを展開し、実行する置換がないため、単に削除されます。これは、私が知っているすべてのシェルに当てはまります。
--exclude-dir=/var/run
引用符なしで試してみましたか?