grep- (1) halaman manual

grep- (1) halaman manual

Nama

grep, egrep, fgrep, rgrep - garis cetak yang cocok dengan pola

Ringkasan

grep [PILIHAN] POLA [MENGAJUKAN…]
grep [PILIHAN] [-e POLA | -F MENGAJUKAN] [MENGAJUKAN…]

Keterangan

grep mencari input yang disebutkan MENGAJUKANS (atau Input Standar Jika tidak ada file yang disebutkan, atau jika satu tanda hubung tunggal (-) diberikan sebagai nama file) untuk baris yang berisi kecocokan dengan yang diberikan POLA. Secara default, grep mencetak garis yang cocok.

Selain itu, tiga program varian Egrep, fgrep Dan rgrep tersedia. Egrep sama dengan grep -e. fgrep sama dengan grep -f. rgrep sama dengan grep -r. Doa langsung sebagai salah satu Egrep atau fgrep sudah usang, tetapi disediakan untuk memungkinkan aplikasi historis yang mengandalkannya untuk menjalankan tidak dimodifikasi.

Pilihan

Informasi Program Generik

-membantu
Cetak pesan penggunaan secara singkat merangkum opsi baris perintah ini dan alamat yang dilaporkan bug, lalu keluar.
-V, -Versi: kapan
Cetak nomor versi grep ke aliran output standar. Nomor versi ini harus dimasukkan dalam semua laporan bug (lihat di bawah).

Seleksi pencocokan

-E, -Extended-Regexp
Menafsirkan POLA Sebagai ekspresi reguler yang diperluas (ERE, lihat di bawah). (-E ditentukan oleh POSIX .)
-F, -string tetap
Menafsirkan POLA Sebagai daftar string tetap, dipisahkan oleh Newline, yang mana pun harus dicocokkan. (-F ditentukan oleh POSIX .)
-G, -BASIC-REGEXP
Menafsirkan POLA Sebagai ekspresi reguler dasar (BRE, lihat di bawah). Ini adalah default.
-P, -Perl-Regexp
Menafsirkan POLA sebagai ekspresi reguler perl. Ini sangat eksperimental dan grep -p mungkin memperingatkan fitur yang tidak diimplementasikan.

Kontrol pencocokan

-e POLA, -Regexp =POLA
Menggunakan POLA sebagai polanya. Ini berguna untuk melindungi pola yang dimulai dengan tanda hubung (-). (-e ditentukan oleh POSIX .)
-F MENGAJUKAN, -file =MENGAJUKAN
Dapatkan pola dari MENGAJUKAN, satu per baris. File kosong berisi nol pola, dan karenanya tidak cocok. (-F ditentukan oleh POSIX .)
-Saya, -abaikan kasus
Mengabaikan perbedaan kasus di kedua POLA dan file input. (-Saya ditentukan oleh POSIX .)
-v, -Match terbalik
Membalikkan rasa cocok, untuk memilih garis yang tidak cocok. (-v ditentukan oleh POSIX .)
-w, -Word-Regexp
Pilih hanya garis -garis yang berisi kecocokan yang membentuk seluruh kata. Tesnya adalah bahwa substring yang cocok harus berada di awal garis, atau didahului oleh karakter konstituen non-kata. Demikian pula, itu harus di ujung garis atau diikuti oleh karakter konstituen non-kata. Karakter kata-konstituen adalah huruf, digit, dan garis bawah.
-X, -Line-Regexp
Pilih hanya kecocokan yang persis cocok dengan seluruh baris. (-X ditentukan oleh POSIX .)
-y
Sinonim usang untuk -Saya.

Kontrol Output Umum

-C, -menghitung
Menekan output normal; Alih -alih mencetak hitungan baris yang cocok untuk setiap file input. Dengan -v, -Match terbalik Opsi (lihat di bawah), hitung garis yang tidak cocok. (-C ditentukan oleh POSIX .)
-warna[=KAPAN], -warna[=KAPAN]
Kelilingi string yang cocok (tidak kosong), garis yang cocok, garis konteks, nama file, nomor baris, offset byte, dan pemisah (untuk bidang dan kelompok garis konteks) dengan urutan pelarian untuk menampilkannya dalam warna di terminal. Warna didefinisikan oleh variabel lingkungan Grep_colors. Variabel lingkungan yang sudah usang Grep_color masih didukung, tetapi pengaturannya tidak memiliki prioritas. KAPAN adalah tidak pernah, selalu, atau mobil.
-L, -file-dengan-pertandingan
Menekan output normal; Alih -alih mencetak nama setiap file input dari mana tidak ada output biasanya telah dicetak. Pemindaian akan berhenti pada pertandingan pertama.
-l, -file-dengan-cocok
Menekan output normal; Alih -alih mencetak nama setiap file input dari mana output biasanya telah dicetak. Pemindaian akan berhenti pada pertandingan pertama. (-l ditentukan oleh POSIX .)
-M Num, -max-count =Num
Berhenti membaca file setelahnya Num garis yang cocok. Jika input adalah input standar dari file biasa, dan Num Garis yang cocok adalah output, grep memastikan bahwa input standar diposisikan tepat setelah garis pencocokan terakhir sebelum keluar, terlepas dari keberadaan garis konteks trailing. Ini memungkinkan proses panggilan untuk melanjutkan pencarian. Kapan grep berhenti setelahnya Num Cocokkan garis, itu menghasilkan garis konteks trailing apa pun. Ketika -C atau -menghitung Opsi juga digunakan, grep tidak menghasilkan jumlah yang lebih besar dari Num. Ketika -v atau -Match terbalik Opsi juga digunakan, grep berhenti setelah outputting Num Garis yang tidak cocok.
-Hai, -hanya cocok
Cetak hanya bagian yang cocok (tidak kosong) dari garis yang cocok, dengan masing-masing bagian tersebut pada garis output terpisah.
-Q, -diam, -diam
Diam; Jangan menulis apa pun untuk output standar. Keluar segera dengan status nol jika ada kecocokan ditemukan, bahkan jika kesalahan terdeteksi. Juga lihat -S atau -tidak ada pesan pilihan. (-Q ditentukan oleh POSIX .)
-S, -tidak ada pesan
Menekan pesan kesalahan tentang file yang tidak ada atau tidak dapat dibaca. Portabilitas Catatan: Tidak seperti GNU grep, Edisi ke -7 UNIX grep tidak sesuai dengan POSIX, karena kurang -Q dan itu -S Opsi berperilaku seperti GNU grep'S -Q pilihan. USG -gaya grep juga kurang -Q tapi itu -S Opsi berperilaku seperti GNU grep. Skrip shell portabel harus menghindari keduanya -Q Dan -S dan harus mengarahkan ulang output standar dan kesalahan /dev/null alih-alih. (-S ditentukan oleh POSIX .)

Kontrol awalan saluran output

-B, -byte-offset
Cetak offset byte berbasis 0 dalam file input sebelum setiap baris output. Jika -Hai (-hanya cocok) ditentukan, cetak offset bagian yang cocok itu sendiri.
-H, -dengan nama-filen
Cetak nama file untuk setiap kecocokan. Ini adalah default ketika ada lebih dari satu file untuk dicari.
-H, -no-filename
Tekan awalan nama file pada output. Ini adalah default ketika hanya ada satu file (atau hanya input standar) untuk dicari.
-label =LABEL
Tampilkan input sebenarnya berasal dari input standar sebagai input berasal dari file LABEL. Ini sangat berguna untuk alat seperti zgrep, e.G., gzip -cd foo.GZ | grep -label = foo sesuatu
-N, -Jumlah garis
Awalan setiap baris output dengan nomor baris berbasis 1 dalam file inputnya. (-N ditentukan oleh POSIX .)
-T, -Tab awal
Pastikan bahwa karakter pertama dari konten garis aktual terletak pada pemberhentian tab, sehingga penyelarasan tab terlihat normal. Ini berguna dengan opsi yang mengawali output mereka ke konten aktual: -H,-N, Dan -B. Untuk meningkatkan probabilitas bahwa baris dari satu file akan dimulai pada kolom yang sama, ini juga menyebabkan nomor garis dan byte offset (jika ada) dicetak dalam lebar bidang ukuran minimum.
-u, -unix-byte-offset
Laporkan offset byte gaya unix. Sakelar ini menyebabkan grep Untuk melaporkan byte offset seolah-olah file tersebut adalah file teks bergaya Unix, saya.e., dengan karakter CR dilucuti. Ini akan menghasilkan hasil yang identik dengan berlari grep di mesin unix. Opsi ini tidak berpengaruh kecuali -B Opsi juga digunakan; Ini tidak berpengaruh pada platform selain MS -DOS dan MS -Windows.
-Z, -batal
Output nol byte (ASCII Nul karakter) alih -alih karakter yang biasanya mengikuti nama file. Misalnya, grep -lz output nol byte setelah setiap nama file, bukan garis baru yang biasa. Opsi ini membuat output tidak ambigu, bahkan di hadapan nama file yang berisi karakter yang tidak biasa seperti Newline. Opsi ini dapat digunakan dengan perintah seperti temukan -print0, Perl -0, urutkan -z, Dan xargs -0 Untuk memproses nama file sewenang -wenang, bahkan yang berisi karakter baru.

Kontrol Garis Konteks

-A Num, -after-context =Num
Mencetak Num baris konteks trailing setelah garis yang cocok. Menempatkan garis yang berisi pemisah grup (-) antara kelompok kecocokan yang berdekatan. Dengan -Hai atau -hanya cocok opsi, ini tidak berpengaruh dan peringatan diberikan.
-B Num, -sebelum konteks =Num
Mencetak Num baris konteks terkemuka sebelum mencocokkan garis. Menempatkan garis yang berisi pemisah grup (-) antara kelompok kecocokan yang berdekatan. Dengan -Hai atau -hanya cocok opsi, ini tidak berpengaruh dan peringatan diberikan.
-C Num, -Num, -konteks =Num
Mencetak Num baris konteks output. Menempatkan garis yang berisi pemisah grup (-) antara kelompok kecocokan yang berdekatan. Dengan -Hai atau -hanya cocok opsi, ini tidak berpengaruh dan peringatan diberikan.

Pemilihan File dan Direktori

-A, -teks
Memproses file biner seolah -olah itu teks; Ini setara dengan -file biner = teks pilihan.
-file biner =JENIS
Jika beberapa byte pertama dari file menunjukkan bahwa file tersebut berisi data biner, asumsikan bahwa file tersebut adalah tipe JENIS. Secara default, JENIS adalah biner, Dan grep Biasanya mengeluarkan pesan satu baris yang mengatakan bahwa file biner cocok, atau tidak ada pesan jika tidak ada kecocokan. Jika JENIS adalah tanpa pertandingan, grep mengasumsikan bahwa file biner tidak cocok; Ini setara dengan -SAYA pilihan. Jika JENIS adalah teks, grep memproses file biner seolah -olah itu teks; Ini setara dengan -A pilihan. Peringatan: grep -binary -files = teks mungkin output sampah biner, yang dapat memiliki efek samping yang buruk jika outputnya adalah terminal dan jika driver terminal menafsirkan beberapa di antaranya sebagai perintah.
-D TINDAKAN, -perangkat =TINDAKAN
Jika file input adalah perangkat, FIFO atau soket, gunakan TINDAKAN untuk memprosesnya. Secara default, TINDAKAN adalah membaca, yang berarti bahwa perangkat dibaca seperti jika itu adalah file biasa. Jika TINDAKAN adalah melewati, perangkat dilewati secara diam -diam.
-D TINDAKAN, -direktori =TINDAKAN
Jika file input adalah direktori, gunakan TINDAKAN untuk memprosesnya. Secara default, TINDAKAN adalah membaca, yang berarti bahwa direktori dibaca seperti jika itu adalah file biasa. Jika TINDAKAN adalah melewati, Direktori dilewati secara diam -diam. Jika TINDAKAN adalah berulang -ulang, grep membaca semua file di bawah setiap direktori, secara rekursif; Ini setara dengan -R pilihan.
-Kecualikan =GUMPAL
Lewati file yang nama dasarnya cocok GUMPAL (Menggunakan pencocokan wildcard). Global-nama file dapat digunakan *, ?, Dan [.. ] sebagai wildcard, dan \ mengutip karakter wildcard atau backslash secara harfiah.
-tidak termasuk-dari =MENGAJUKAN
Lewati file yang nama dasarnya cocok dengan salah satu dari file-file yang dibaca dari MENGAJUKAN (Menggunakan pencocokan wildcard seperti yang dijelaskan di bawah -mengecualikan).
-mengecualikan DIR =Dir
Mengecualikan direktori yang cocok dengan polanya Dir dari pencarian rekursif.
-SAYA
Memproses file biner seolah -olah tidak berisi data yang cocok; Ini setara dengan -file biner = tanpa pertandingan pilihan.
-termasuk =GUMPAL
Cari hanya file yang cocok dengan nama dasarnya GUMPAL (Menggunakan pencocokan wildcard seperti yang dijelaskan di bawah -mengecualikan).
-R, -R, -rekursif
Baca semua file di bawah setiap direktori, secara rekursif; Ini setara dengan -D kambuh pilihan.

Pilihan lain

-Buffered garis
Gunakan Buffering Garis pada Output. Ini dapat menyebabkan penalti kinerja.
-MMAP
Jika memungkinkan, gunakan MMAP(2) Panggilan sistem untuk membaca input, bukannya default membaca(2) Panggilan sistem. Dalam beberapa situasi, -MMAP menghasilkan kinerja yang lebih baik. Namun, -MMAP dapat menyebabkan perilaku yang tidak ditentukan (termasuk dump inti) jika file input menyusut sementara grep beroperasi, atau jika terjadi kesalahan I/O.
-U, -biner
Perlakukan file sebagai biner. Secara default, di bawah MS -DOS dan MS -Windows, grep Tebak jenis file dengan melihat konten 32KB pertama dibaca dari file. Jika grep Memutuskan file adalah file teks, itu melucuti karakter CR dari konten file asli (untuk membuat ekspresi reguler dengan ^ Dan $ bekerja dengan benar). Menentukan -U mengesampingkan dugaan ini, menyebabkan semua file dibaca dan diteruskan ke mekanisme pencocokan kata demi kata; Jika file adalah file teks dengan pasangan CR/LF di akhir setiap baris, ini akan menyebabkan beberapa ekspresi reguler gagal. Opsi ini tidak berpengaruh pada platform selain MS -DOS dan MS -Windows.
-z, -null-data
Perlakukan input sebagai satu set garis, masing -masing diakhiri oleh nol byte (ASCII Nul karakter) bukannya garis baru. Seperti -Z atau -batal Opsi, opsi ini dapat digunakan dengan perintah seperti urutkan -z untuk memproses nama file yang sewenang -wenang.

Ekspresi reguler

Ekspresi reguler adalah pola yang menggambarkan satu set string. Ekspresi reguler dibangun secara analog dengan ekspresi aritmatika, dengan menggunakan berbagai operator untuk menggabungkan ekspresi yang lebih kecil.

grep Memahami dua versi berbeda dari sintaks ekspresi reguler: 'dasar' dan 'diperpanjang.'Di GNU grep, Tidak ada perbedaan dalam fungsionalitas yang tersedia menggunakan kedua sintaksis. Dalam implementasi lain, ekspresi reguler dasar kurang kuat. Deskripsi berikut berlaku untuk ekspresi reguler yang diperluas; Perbedaan untuk ekspresi reguler dasar dirangkum sesudahnya.

Blok bangunan mendasar adalah ekspresi reguler yang cocok dengan satu karakter. Sebagian besar karakter, termasuk semua huruf dan digit, adalah ekspresi reguler yang cocok dengan diri mereka sendiri. Setiap karakter meta dengan makna khusus dapat dikutip dengan mendahuluinya dengan backslash.

Periode . cocok dengan karakter tunggal.

Kelas karakter dan ekspresi braket

A Ekspresi braket adalah daftar karakter yang terlampir oleh [ Dan ]. Itu cocok dengan karakter tunggal dalam daftar itu; Jika karakter pertama dari daftar adalah caret ^ Kemudian cocok dengan karakter apa pun bukan dalam daftar. Misalnya, ekspresi reguler [0123456789] cocok dengan satu digit.

Dalam ekspresi braket, a Ekspresi rentang terdiri dari dua karakter yang dipisahkan oleh tanda hubung. Ini cocok dengan setiap karakter tunggal yang mengurutkan antara dua karakter, inklusif, menggunakan urutan rekan locale dan set karakter. Misalnya, di daerah C default, [iklan] setara dengan [ABCD]. Banyak lokal mengurutkan karakter dalam urutan kamus, dan di daerah ini [iklan] biasanya tidak setara dengan [ABCD]; itu mungkin setara dengan [abbccdd], Misalnya. Untuk mendapatkan interpretasi tradisional dari ekspresi braket, Anda dapat menggunakan lokal dengan mengatur Lc_all Variabel lingkungan dengan nilai C.

Akhirnya, kelas karakter yang disebutkan sebelumnya telah ditentukan sebelumnya dalam ekspresi braket, sebagai berikut. Nama mereka jelas, dan mereka [: alnum:], [:alfa:], [: cntrl:], [:angka:], [:grafik:], [:lebih rendah:], [:mencetak:], [: punct:], [:ruang angkasa:], [:atas:], Dan [: xDigit:]. Misalnya, [[: alnum:]] cara [0-9A-ZA-Z], Kecuali bentuk yang terakhir tergantung pada lokasi C dan pengkodean karakter ASCII, sedangkan yang pertama tidak tergantung pada set lokal dan karakter. (Perhatikan bahwa tanda kurung dalam nama kelas ini adalah bagian dari nama simbolik, dan harus dimasukkan sebagai tambahan dari kurung yang membatasi ekspresi braket.) Sebagian besar karakter meta kehilangan makna khusus mereka di dalam ekspresi braket. Untuk memasukkan literal ] Tempatkan pertama dalam daftar. Demikian pula, memasukkan literal ^ Tempatkan di mana saja tapi pertama. Akhirnya, untuk memasukkan literal - Tempatkan terakhir.

Jangkar

Caret ^ dan tanda dolar $ adalah meta-karakter yang masing-masing cocok dengan string kosong di awal dan akhir garis.

Karakter backslash dan ekspresi khusus

Simbol \< Dan \> masing -masing cocok dengan string kosong di awal dan akhir kata. Simbol \B cocok dengan string kosong di tepi kata, dan \B cocok dengan string kosong yang disediakan bukan di ujung kata. Simbol \ w adalah sinonim untuk [[: alnum:]] Dan \ W adalah sinonim untuk [^[: alnum:]].

Pengulangan

Ekspresi reguler dapat diikuti oleh salah satu dari beberapa operator pengulangan:

?
Item sebelumnya adalah opsional dan paling cocok sekali.
*
Item sebelumnya akan dicocokkan nol atau lebih kali.
+
Item sebelumnya akan dicocokkan satu kali atau lebih.
N
Item sebelumnya tepat cocok N waktu.
N,
Item sebelumnya dicocokkan N atau lebih kali.
,M
Item sebelumnya paling cocok M waktu.
N,M
Item sebelumnya setidaknya cocok N kali, tetapi tidak lebih dari M waktu.

Rangkaian

Dua ekspresi reguler dapat digabungkan; Ekspresi reguler yang dihasilkan cocok dengan string apa pun yang dibentuk dengan menggabungkan dua substring yang masing -masing cocok dengan ekspresi gabungan.

Alternasi

Dua ekspresi reguler dapat bergabung dengan operator infix |; Ekspresi reguler yang dihasilkan cocok dengan string yang cocok dengan ekspresi alternatif.

Hak lebih tinggi

Pengulangan lebih diutamakan daripada gabungan, yang pada gilirannya lebih diutamakan daripada pergantian. Ekspresi utuh dapat dilampirkan dalam tanda kurung untuk mengesampingkan aturan prioritas ini dan membentuk sub -ekspresi.

Referensi dan Subekspresi Kembali

Referensi belakang \N, Di mana N adalah satu digit, cocok dengan substring yang sebelumnya cocok dengan NSubekspresi kurung dari ekspresi reguler.

Ekspresi Reguler Dasar vs Diperluas

Dalam ekspresi reguler dasar meta-karakter ?, +, , |, (, Dan ) kehilangan makna khusus mereka; Alih -alih menggunakan versi yang dibatalkan \?, \+, \ , \ |, \ (, Dan \).

Tradisional Egrep tidak mendukung meta-karakter, dan beberapa Egrep Dukungan Implementasi \ Sebaliknya, jadi skrip portabel harus menghindari di dalam grep -e pola dan harus digunakan [] untuk mencocokkan literal .

Gnu grep -e upaya untuk mendukung penggunaan tradisional dengan mengasumsikan itu tidak istimewa jika itu akan menjadi awal dari spesifikasi interval yang tidak valid. Misalnya, perintah grep -e aq 1aq mencari string dua karakter 1 Alih -alih melaporkan kesalahan sintaks di ekspresi reguler. POSIX.2 Memungkinkan perilaku ini sebagai ekstensi, tetapi skrip portabel harus menghindarinya.

Variabel Lingkungan

Perilaku grep dipengaruhi oleh variabel lingkungan berikut.

Lokal untuk kategori LC_foo ditentukan dengan memeriksa tiga variabel lingkungan Lc_all, LC_foo, Lang, dalam urutan itu. Yang pertama dari variabel -variabel ini yang diatur menentukan lokal. Misalnya, jika Lc_all tidak ditetapkan, tapi Lc_messages diatur ke PT_BR, Kemudian lokal Portugis Brasil digunakan untuk Lc_messages kategori. Lokal C digunakan jika tidak ada variabel lingkungan ini yang ditetapkan, jika katalog lokal tidak terpasang, atau jika grep tidak dikompilasi dengan Dukungan Bahasa Nasional (NLS).

Grep_options
Variabel ini menentukan opsi default yang akan ditempatkan di depan opsi eksplisit apa pun. Misalnya, jika Grep_options adalah AQ-Binary-Files = tanpa pertandingan -directories = skipaq, grep berperilaku seolah -olah kedua opsi itu -file biner = tanpa pertandingan Dan -direktori = lewati telah ditentukan sebelum opsi eksplisit. Spesifikasi opsi dipisahkan oleh whitespace. Backslash lolos dari karakter berikutnya, sehingga dapat digunakan untuk menentukan opsi yang berisi whitespace atau backslash.
Grep_color
Variabel ini menentukan warna yang digunakan untuk menyoroti teks yang cocok (tidak kosong). Itu sudah usang mendukung Grep_colors, tapi masih didukung. Itu Mt, MS, Dan MC kemampuan Grep_colors memiliki prioritas di atasnya. Itu hanya dapat menentukan warna yang digunakan untuk menyoroti teks yang tidak cocok dalam baris yang cocok (baris yang dipilih saat -v opsi baris perintah dihilangkan, atau baris konteks saat -v ditentukan). Standarnya adalah 01; 31, yang berarti teks latar depan merah tebal di latar belakang terminal.
Grep_colors
Menentukan warna dan atribut lain yang digunakan untuk menyoroti berbagai bagian output. Nilainya adalah daftar kemampuan yang terpisah usus besar yang default ms = 01; 31: mc = 01; 31: SL =: cx =: fn = 35: ln = 32: bn = 32: SE = 36 dengan RV Dan ne kemampuan boolean dihilangkan (i.e., PALSU). Kemampuan yang didukung adalah sebagai berikut.
SL =
SGR Substring untuk seluruh baris yang dipilih (i.e., garis yang cocok saat -v Opsi baris perintah dihilangkan, atau tidak cocok dengan saat -v ditentukan). Jika bagaimanapun boolean RV kemampuan dan -v Opsi baris perintah keduanya ditentukan, itu berlaku untuk garis pencocokan konteks sebagai gantinya. Defaultnya kosong (i.e., pasangan warna default terminal).
cx =
Substring sgr untuk seluruh garis konteks (i.e., garis yang tidak cocok saat -v Opsi baris perintah dihilangkan, atau mencocokkan baris saat -v ditentukan). Jika bagaimanapun boolean RV kemampuan dan -v Opsi baris perintah keduanya ditentukan, ini berlaku untuk baris yang tidak cocok dengan yang dipilih. Defaultnya kosong (i.e., pasangan warna default terminal).
RV
Nilai boolean yang membalikkan (bertukar) makna dari SL = Dan cx = kemampuan saat -v Opsi baris perintah ditentukan. Defaultnya salah (i.e., kemampuan dihilangkan).
mt = 01; 31
SGR Substring untuk mencocokkan teks tidak kosong di baris yang cocok (i.e., garis yang dipilih saat -v opsi baris perintah dihilangkan, atau baris konteks saat -v ditentukan). Pengaturan ini setara dengan mengatur keduanya MS = Dan mc = sekaligus dengan nilai yang sama. Standarnya adalah latar depan teks merah tebal di atas latar belakang baris saat ini.
MS = 01; 31
SGR Substring untuk mencocokkan teks yang tidak kosong di baris yang dipilih. (Ini hanya digunakan saat -v Opsi baris perintah dihilangkan.) Efek dari SL = (atau cx = jika RV) Kemampuan tetap aktif saat ini menendang. Standarnya adalah latar depan teks merah tebal di atas latar belakang baris saat ini.
mc = 01; 31
SGR Substring untuk mencocokkan teks yang tidak kosong dalam baris konteks. (Ini hanya digunakan saat -v Opsi baris perintah ditentukan.) Efek dari cx = (atau SL = jika RV) Kemampuan tetap aktif saat ini menendang. Standarnya adalah latar depan teks merah tebal di atas latar belakang baris saat ini.
fn = 35
SGR Substring untuk Nama File Proefixing setiap baris konten. Standarnya adalah latar depan teks magenta di atas latar belakang terminal default.
ln = 32
SGR Substring untuk nomor baris Proefixing setiap baris konten. Standarnya adalah latar depan teks hijau di atas latar belakang terminal.
bn = 32
SGR Substring untuk Byte Offset Prefixing setiap baris konten. Standarnya adalah latar depan teks hijau di atas latar belakang terminal.
SE = 36
SGR Substring untuk pemisah yang dimasukkan di antara bidang garis yang dipilih (:), antara bidang garis konteks, (-), dan antara kelompok garis yang berdekatan ketika konteks bukan nol ditentukan (-). Standarnya adalah latar depan teks cyan di atas latar belakang terminal.
ne
Nilai boolean yang mencegah pembersihan ke ujung garis menggunakan hapus sejalan (el) ke kanan (\\ 33 [k) Setiap kali item yang diwarnai berakhir. Ini diperlukan pada terminal yang tidak didukung EL. Ini tidak berguna pada terminal yang back_color_erase (SM) Kemampuan terminfo boolean tidak berlaku, ketika warna highlight yang dipilih tidak mempengaruhi latar belakang, atau ketika EL terlalu lambat atau menyebabkan terlalu banyak berkedip. Defaultnya salah (i.e., kemampuan dihilangkan).

Perhatikan bahwa kemampuan Boolean tidak memiliki =… bagian. Mereka dihilangkan (i.e., false) secara default dan menjadi kenyataan saat ditentukan.

Lihat bagian SELECT Graphic Rendition (SGR) dalam dokumentasi terminal teks yang digunakan untuk nilai yang diizinkan dan artinya sebagai atribut karakter. Nilai substring ini adalah bilangan bulat dalam representasi desimal dan dapat digabungkan dengan titik koma. grep mengurus hasil hasil menjadi urutan SGR yang lengkap (\\ 33 [.. M). Nilai umum untuk menggabungkan termasuk 1 untuk tebal, 4 untuk digarisbawahi, 5 untuk Blink, 7 untuk terbalik, 39 untuk warna latar depan default, 30 ke 37 untuk warna latar depan, 90 ke 97 untuk warna latar depan mode 16 warna, 38; 5; 0 ke 38; 5; 255 Untuk warna latar depan mode 88-warna dan 256 warna, 49 untuk warna latar belakang default, 40 ke 47 untuk warna latar belakang, 100 ke 107 untuk warna latar belakang mode 16 warna, dan 48; 5; 0 ke 48; 5; 255 untuk warna latar belakang mode 88-warna dan 256-warna.

Lc_all, Lc_collate, Lang
Variabel -variabel ini menentukan lokasi untuk Lc_collate kategori, yang menentukan urutan kumpang yang digunakan untuk menafsirkan ekspresi rentang seperti [a-z].
Lc_all, Lc_ctype, Lang
Variabel -variabel ini menentukan lokasi untuk Lc_ctype kategori, yang menentukan jenis karakter, e.G., Karakter mana yang berupa Whitespace.
Lc_all, Lc_messages, Lang
Variabel -variabel ini menentukan lokasi untuk Lc_messages kategori, yang menentukan bahasa itu grep Penggunaan untuk pesan. Lokal C default menggunakan pesan bahasa Inggris Amerika.
POSIXLY_CORRECT
Jika diatur, grep berperilaku sebagai POSIX.2 membutuhkan; jika tidak, grep berperilaku lebih seperti program GNU lainnya. POSIX.2 mensyaratkan bahwa opsi yang mengikuti nama file harus diperlakukan sebagai nama file; Secara default, opsi tersebut diizinkan ke depan daftar operan dan diperlakukan sebagai opsi. Juga, POSIX.2 mensyaratkan bahwa opsi yang tidak diakui didiagnosis sebagai 'ilegal', tetapi karena mereka tidak benar -benar melanggar hukum defaultnya adalah mendiagnosis mereka sebagai 'tidak valid'. POSIXLY_CORRECT juga menonaktifkan _N_GNU_NONOPTION_ARGV_FLAGS_, dijelaskan di bawah ini.
_N_GNU_NONOPTION_ARGV_FLAGS_
(Di Sini N adalah grepID proses numerik.) Jika SayaKarakter nilai variabel lingkungan ini adalah 1, Jangan pertimbangkan Sayaoperan grep menjadi opsi, bahkan jika tampaknya menjadi satu. Shell dapat menempatkan variabel ini di lingkungan untuk setiap perintah yang dijalankan, menentukan operan mana yang merupakan hasil dari nama file ekspansi wildcard dan karenanya tidak boleh diperlakukan sebagai opsi. Perilaku ini hanya tersedia dengan perpustakaan GNU C, dan hanya jika POSIXLY_CORRECT tidak ditetapkan.

Status keluar

Biasanya, status keluar adalah 0 jika garis yang dipilih ditemukan dan 1 sebaliknya. Tetapi status keluar adalah 2 jika terjadi kesalahan, kecuali jika -Q atau -diam atau -diam Opsi digunakan dan garis yang dipilih ditemukan. Namun, perhatikan bahwa POSIX hanya mengamanatkan, untuk program seperti grep, CMP, Dan diff, bahwa status keluar jika terjadi kesalahan lebih besar dari 1; Oleh karena itu disarankan, demi portabilitas, untuk menggunakan logika yang menguji kondisi umum ini alih -alih kesetaraan yang ketat dengan 2.

hak cipta

Hak Cipta © 1998, 1999, 2000, 2002, 2005 Free Software Foundation, Inc.

Ini adalah perangkat lunak gratis; Lihat sumber untuk menyalin kondisi. Tidak ada jaminan; Bahkan tidak dapat diperjualbelikan atau kebugaran untuk tujuan tertentu.

Bug

Melaporkan bug

Laporan Bug Email ke <[email protected]>, milis yang halaman webnya <http: // daftar.gnu.org/mailman/listInfo/bug-grep >. grepPelacak Bug Savannah terletak di <http: // savannah.gnu.org/bug/?grup = grep >.

Bug yang dikenal

Pengulangan besar jumlah di N,M konstruksi dapat menyebabkan grep untuk menggunakan banyak memori. Selain itu, ekspresi reguler tertentu yang tidak jelas memerlukan waktu dan ruang eksponensial, dan dapat menyebabkan grep kehabisan memori.

Tutorial Linux Terkait:

  • Ekspresi reguler Python dengan contoh
  • Temukan vs temukan: apa bedanya
  • File Konfigurasi Linux: 30 Teratas Paling Penting
  • Cara memasang gambar iso di linux
  • Cara membandingkan file menggunakan diff
  • Cara dengan benar GREP untuk teks dalam skrip bash
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
  • Menguasai loop skrip bash
  • Cara menambah/menghapus pengguna di manjaro linux
  • Xargs multi-threaded dengan contoh