Manual untuk grep
menggambarkan -I
bendera sebagai berikut:
-I Ignore binary files. This option is equivalent to
--binary-file=without-match option.
Ia juga mengatakan ini tentang file biner:
--binary-files=value Controls searching and printing of binary files.
Options are binary, the default: search binary files but do not print
them; without-match: do not search binary files; and text: treat all
files as text.
Saya tidak bisa memikirkan skenario di mana saya akan peduli tentang kecocokan dalam file biner. Jika skenario seperti itu ada, pastilah itu pengecualian dan bukan norma. Mengapa tidak grep
mengabaikan file biner secara default daripada mengharuskan pengaturan flag ini untuk melakukannya?
GREP_OPTIONS
ke pengaturan pilihan Anda, maka Anda tidak harus menggunakan banyak saklar baris perintah..(ba|z|foo)shrc':
alias Anda grep = "grep -I" `.Jawaban:
Tidak semua yang dianggap grep adalah file biner, sebenarnya adalah file biner. misalnya log boneka memiliki kode warna ansi di dalamnya, yang membuat grep berpikir mereka biner. Saya masih ingin mencari mereka jika saya melihat / var / log.
sumber
grep
Kemampuan untuk mencari file biner juga berguna ketika saya sedang menyusun program dan linker (ld
) mengeluh tentang beberapa fungsi yang tidak ditemukan. Saya dapat menggunakan perintah sepertiuntuk menemukan perpustakaan yang memuatnya. (Perpustakaan adalah file biner.)
sumber
grep -l function_name /lib/lib*
ataunm -Do /lib/lib* | grep function_name
atauldconfig -p | grep -o '/.*/lib.*' | xargs nm -Do | grep function_name
sekalipun.grep some_function /lib/*
lebih pendek dan biasanya memberikan jawaban yang benar - nama perpustakaan yang saya cari. Tapi ya, terkadang pendekatan yang lebih canggih seperti yang Anda butuhkan juga.