GNU/Linux >> Belajar Linux >  >> Linux

Ubuntu grep, temukan dll:Izin ditolak dan Tidak ada output file atau direktori seperti itu

dengan grep Anda dapat menentukan flag -s yang melakukan cukup banyak apa yang dikatakan @ortang

-s, --no-messages Sembunyikan pesan kesalahan tentang file yang tidak ada atau tidak dapat dibaca. Catatan portabilitas:tidak seperti grep GNU, grep Unix Edisi ke-7 tidak sesuai dengan POSIX, karena tidak memiliki -q dan opsi -snya berperilaku seperti opsi -q GNU grep. grep gaya USG juga tidak memiliki -q tetapi opsi -s berperilaku seperti grep GNU. Skrip shell portabel harus menghindari keduanya -q dan -s dan sebagai gantinya harus mengalihkan output standar anderror ke /dev/null.

dengan menemukan sejauh yang saya tahu jawaban @ortangs adalah yang terbaik. sesuatu seperti

find / -name "myfile" -type f -print 2>/dev/null


Coba alihkan stderr ke /dev/null .

[email protected]:/$ grep -rnP 'YII_CORE_PATH' ./ 2> /dev/null | grep -v .svn

Mengarahkan ulang strerr ke /dev/null (alias black hole ) adalah cara yang baik untuk menekan kesalahan izin ditolak.

Namun, perhatikan bahwa luka ini tidak hanya menekan permission denied pesan kecuali SEMUA pesan kesalahan.

Jika Anda ingin mempertahankan pesan kesalahan selain permission denied maka Anda dapat melakukan sesuatu seperti ini -

grep -rnP 'YII_CORE_PATH' ./ 2>&1 | grep -v 'permission denied' > error.log

Jika Anda tidak ingin mempertahankannya maka yang berikut ini akan baik-baik saja -

grep -rnP 'YII_CORE_PATH' ./ 2> /dev/null | grep -v .svn

Linux
  1. Linux:Perbedaan Antara /dev/console , /dev/tty Dan /dev/tty0?

  2. Perbedaan Antara 2>&-, 2>/dev/null, |&, &>/dev/null Dan>/dev/null 2>&1?

  3. Hapus File Dan Direktori Dengan Nama Mereka. Tidak ada berkas atau direktori seperti itu?

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Seberapa Portabel /dev/stdin, /dev/stdout Dan /dev/stderr?

  3. DD dari /dev/zero ke /dev/null...apa yang sebenarnya terjadi

  1. Apa itu file /dev/zero dan /dev/null di Linux?

  2. izin ditolak untuk komposer di /usr/local/bin/

  3. cp:tidak dapat membuat direktori :Tidak ada file atau direktori tersebut