Cara menekan hasil pencocokan file biner di grep [ditutup]
215
Ketika menggunakan grep di linux, hasilnya sering berisi banyak "file biner XXX yang cocok", yang tidak saya pedulikan. Bagaimana cara menekan bagian hasil ini, atau bagaimana mengecualikan file biner dalam grep?
@ skwllsp Tetapi dengan -l, hasilnya tidak berisi baris yang cocok, hanya dengan nama file yang cocok.
RandyTek
Ada opsi untuk baris: grep -I -n -H
6
Ini di luar topik? Wow
CoffeeTableEspresso
Jawaban:
302
Ada tiga opsi yang bisa Anda gunakan. -Iadalah untuk mengecualikan file biner di grep. Lainnya untuk nomor baris dan nama file.
grep -I -n -H
-I -- process a binary file as if it did not contain matching data;
-n -- prefix each line of output with the 1-based line number within its input file
-H -- print the file name for each match
Saya akan menggunakan -Irnmana rsingkatan rekursif untuk melihat ke dalam semua folder. Hberlebihan di sini
vladkras
@vladkras, "H berlebihan di sini" - maksud Anda berlebihan, artinya sudah default?
cp.engr
Terima kasih telah menjelaskan apa arti opsi singkat dalam jawaban Anda. Ada begitu banyak jawaban perintah linux singkat pada SO yang tidak memberikan penjelasan, yang menurut saya mengganggu.
jrahhali
1
@AaronFranke: -nBendera memberi tahu grep untuk melaporkan nomor baris file tempat ditemukannya kecocokan. "1-based" berarti penghitungan baris dimulai dari satu daripada nol, seperti yang sering dilakukan dalam pemrograman. Jadi, jika baris pertama dari file Anda bernama example.txtadalah Hello, world, baris kedua adalah Hello cat, dan garis ketiga cats are cool, maka mencari "kucing" melalui grep -n cat example.txt, Anda akan mendapatkan example.txt:2: Hello catdan example.txt:3: cats are cool.
jvriesem
11
Ini adalah pertanyaan lama dan sudah dijawab tetapi saya pikir saya akan meletakkan opsi --binary-file = teks di sini untuk siapa saja yang ingin menggunakannya. Opsi -I mengabaikan file biner tetapi jika Anda ingin grep memperlakukan file biner sebagai file teks gunakan --binary-files = teks seperti ini:
Jawaban:
Ada tiga opsi yang bisa Anda gunakan.
-I
adalah untuk mengecualikan file biner di grep. Lainnya untuk nomor baris dan nama file.Jadi ini mungkin cara untuk menjalankan grep:
sumber
-Irn
manar
singkatan rekursif untuk melihat ke dalam semua folder.H
berlebihan di sini-n
Bendera memberi tahu grep untuk melaporkan nomor baris file tempat ditemukannya kecocokan. "1-based" berarti penghitungan baris dimulai dari satu daripada nol, seperti yang sering dilakukan dalam pemrograman. Jadi, jika baris pertama dari file Anda bernamaexample.txt
adalahHello, world
, baris kedua adalahHello cat
, dan garis ketigacats are cool
, maka mencari "kucing" melaluigrep -n cat example.txt
, Anda akan mendapatkanexample.txt:2: Hello cat
danexample.txt:3: cats are cool
.Ini adalah pertanyaan lama dan sudah dijawab tetapi saya pikir saya akan meletakkan opsi --binary-file = teks di sini untuk siapa saja yang ingin menggunakannya. Opsi -I mengabaikan file biner tetapi jika Anda ingin grep memperlakukan file biner sebagai file teks gunakan --binary-files = teks seperti ini:
sumber