Ketika saya menggunakan grep
atau find
, saya selalu merasa terganggu oleh pemberitahuan "Izin ditolak" dan "Tidak ada file atau direktori", sesuatu seperti ini:
johndoe@johndoe-desktop:/$ grep -rnP 'YII_CORE_PATH' ./ | grep -v .svn
grep: ./lib/ufw/user6.rules: Permission denied
grep: ./lib/ufw/user.rules: Permission denied
grep: ./lib/init/rw/udev/watch/27: No such file or directory
grep: ./lib/init/rw/udev/watch/26: No such file or directory
grep: ./lib/init/rw/udev/watch/25: No such file or directory
Bagaimana saya bisa menghindarinya dan membuatnya jadi saya hanya melihat data yang relevan, yaitu sesuatu yang benar-benar saya cari?
Jawaban:
dengan grep Anda dapat menentukan flag -s yang tidak cukup banyak apa yang dikatakan @ortang
dengan menemukan sejauh yang saya tahu jawaban @ortangs adalah yang terbaik. sesuatu seperti
find / -name "myfile" -type f -print 2>/dev/null
sumber
Coba redirect
stderr
ke/dev/null
.sumber
Mengarahkan
strerr
ke/dev/null
(aliasblack hole
) adalah cara yang baik untuk menekan izin yang ditolak kesalahan.Namun, harap dicatat bahwa luka ini tidak hanya menekan
permission denied
pesan tetapi SEMUA pesan kesalahan.Jika Anda ingin menyimpan pesan kesalahan selain dari
permission denied
itu, Anda dapat melakukan sesuatu seperti ini -Jika Anda tidak ingin mempertahankannya maka yang berikut akan baik-baik saja -
sumber
2>&1
bukan2> /dev/null
untuk saran pertama.stderr
ke yangstout
pertama.Gunakan
sudo
perintah untuk meninggikan perintah untuk memiliki hak administratif.sumber
Menggunakan "| &" sebelum grep -v akan menghadapinya, mis
sumber