Ini adalah perintah zpcregrep yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
pcregrep - grep dengan ekspresi reguler yang kompatibel dengan Perl.
RINGKASAN
pcrep [pilihan] [panjang pilihan] [pola] [jalan1 jalan2 ...] zpcregrep [pilihan] [panjang
pilihan] [pola] [berkas1 file2 ...]
DESKRIPSI
pcrep mencari file untuk pola karakter, dengan cara yang sama seperti perintah grep lainnya,
tetapi menggunakan pustaka ekspresi reguler PCRE untuk mendukung pola yang kompatibel
dengan ekspresi reguler Perl 5. Lihat sintaks pc(3) untuk ringkasan referensi cepat dari
sintaks pola, atau prepattern(3) untuk deskripsi lengkap tentang sintaks dan semantik dari
ekspresi reguler yang didukung PCRE.
Pola, baik yang disediakan pada baris perintah atau dalam file terpisah, diberikan tanpa
pembatas. Sebagai contoh:
pcregrep Kamis /etc/motd
Jika Anda mencoba menggunakan pembatas (misalnya, dengan mengelilingi pola dengan garis miring, seperti
umum dalam skrip Perl), mereka ditafsirkan sebagai bagian dari pola. Kutipan bisa dari
Tentu saja digunakan untuk membatasi pola pada baris perintah karena ditafsirkan oleh
shell, dan memang kutipan diperlukan jika suatu pola berisi spasi putih atau shell
karakter meta.
Argumen pertama yang mengikuti pengaturan opsi apa pun diperlakukan sebagai pola tunggal menjadi
cocok ketika tidak -e maupun -f hadir. Sebaliknya, ketika salah satu atau kedua opsi ini
digunakan untuk menentukan pola, semua argumen diperlakukan sebagai nama jalur. Setidaknya satu dari -e,
-f, atau pola argumen harus disediakan.
Jika tidak ada file yang ditentukan, pcrep membaca input standar. Masukan standar juga bisa
direferensikan dengan nama yang terdiri dari satu tanda hubung. Sebagai contoh:
pcregrep beberapa pola /file1 - /file3
Secara default, setiap baris yang cocok dengan pola disalin ke output standar, dan jika
ada lebih dari satu file, nama file ditampilkan di awal setiap baris, diikuti
oleh titik dua. Namun, ada opsi yang dapat mengubah caranya pcrep berperilaku. Di dalam
tertentu, -M opsi memungkinkan untuk mencari pola yang menjangkau garis
batasan. Apa yang mendefinisikan batas garis dikendalikan oleh -N (--garis baru) pilihan.
Jumlah memori yang digunakan untuk buffering file yang sedang dipindai dikendalikan oleh a
parameter yang dapat diatur oleh --ukuran buffer pilihan. Nilai default untuk ini
parameter ditentukan ketika pcrep dibangun, dengan default default adalah 20K. Sebuah blok
memori tiga kali ukuran ini digunakan (untuk memungkinkan buffering "sebelum" dan "setelah"
garis). Terjadi kesalahan jika garis melebihi buffer.
Pola tidak boleh lebih dari 8K atau BUFSIZ byte, mana saja yang lebih besar. BUFSIZ adalah
didefinisikan dalam . Bila ada lebih dari satu pola (ditentukan dengan penggunaan -e
dan / atau -f), setiap pola diterapkan ke setiap baris dalam urutan di mana mereka didefinisikan,
kecuali bahwa semua -e pola dicoba sebelum -f pola.
Secara default, segera setelah satu pola cocok dengan garis, tidak ada pola lebih lanjut yang dipertimbangkan.
Namun, jika --warna (Atau --warna) digunakan untuk mewarnai substring yang cocok, atau jika --hanya-
sesuai, --file-offset, atau --line-offset digunakan untuk menampilkan hanya bagian dari baris
yang cocok (baik ditampilkan secara harfiah, atau sebagai offset), pemindaian dilanjutkan segera
mengikuti pertandingan, sehingga pertandingan lebih lanjut pada baris yang sama dapat ditemukan. Jika ada
beberapa pola, semuanya dicoba pada sisa baris, tetapi pola itu
ikuti salah satu yang cocok tidak dicoba di bagian awal baris.
Perilaku ini berarti bahwa urutan beberapa pola yang ditentukan dapat mempengaruhi
output ketika salah satu opsi di atas digunakan. Ini bukan lagi perilaku yang sama dengan
GNU grep, yang sekarang berhasil menampilkan kecocokan sebelumnya untuk pola selanjutnya (selama
tidak ada tumpang tindih).
Pola yang cocok dengan string kosong diterima, tetapi pencocokan string kosong tidak pernah
dikenali. Contohnya adalah pola "(super)?(man)?", di mana semua komponen adalah
opsional. Pola ini menemukan semua kemunculan baik "super" dan "man"; keluarannya berbeda
dari pencocokan dengan "super|man" ketika hanya substring yang cocok yang ditampilkan.
Jika LC_SEMUA or LC_CTYPE variabel lingkungan diatur, pcrep menggunakan nilai untuk menetapkan a
lokal saat memanggil perpustakaan PCRE. NS --lokal opsi dapat digunakan untuk menimpa ini.
zpcregrep adalah skrip pembungkus yang memungkinkan pcregrep bekerja pada file terkompresi gzip.
SUPPORT UNTUK TERKOMPRESI FILE
Dimungkinkan untuk dikompilasi pcrep sehingga menggunakan libz or libbz2 untuk membaca file yang
nama berakhiran .gz or . Bz2, masing-masing. Anda dapat mengetahui apakah biner Anda memiliki dukungan
untuk satu atau kedua jenis file ini dengan menjalankannya dengan --membantu pilihan. jika
dukungan yang sesuai tidak ada, file diperlakukan sebagai teks biasa. masukan standarnya adalah
selalu diperlakukan seperti itu.
BINARY FILE
Secara default, file yang berisi biner nol byte dalam 1024 byte pertama adalah
diidentifikasi sebagai file biner, dan diproses secara khusus. (GNU grep juga mengidentifikasi biner
file dengan cara ini.) Lihat --biner-file pilihan untuk cara mengubah cara
file biner ditangani.
PILIHAN
Urutan munculnya beberapa opsi dapat memengaruhi output. Misalnya, keduanya
-h dan -l pilihan mempengaruhi pencetakan nama file. Apapun yang datang kemudian dalam perintah
garis akan menjadi salah satu yang berlaku. Demikian pula, kecuali jika disebutkan di bawah, jika opsi
diberikan dua kali, pengaturan kemudian digunakan. Nilai numerik untuk opsi dapat diikuti oleh
K atau M, untuk menandakan perkalian dengan 1024 atau 1024*1024 masing-masing.
-- Ini mengakhiri daftar opsi. Berguna jika item berikutnya di
baris perintah dimulai dengan tanda hubung tetapi bukan merupakan opsi. Hal ini memungkinkan untuk
pemrosesan pola dan nama file yang dimulai dengan tanda hubung.
-A jumlah, --setelah-konteks=jumlah
Keluaran jumlah baris konteks setelah setiap baris yang cocok. Jika nama file dan/atau
nomor baris sedang dikeluarkan, pemisah tanda hubung digunakan sebagai ganti titik dua untuk
garis konteks. Garis yang berisi "--" adalah output antara setiap kelompok garis,
kecuali mereka sebenarnya bersebelahan dalam file input. Nilai dari jumlah is
diperkirakan relatif kecil. Namun, pcrep jaminan memiliki hingga 8K
teks berikut tersedia untuk keluaran konteks.
-a, --teks
Perlakukan file biner sebagai teks. Ini setara dengan --biner-file=teks.
-B jumlah, --sebelum-konteks=jumlah
Keluaran jumlah baris konteks sebelum setiap baris yang cocok. Jika nama file dan/atau
nomor baris sedang dikeluarkan, pemisah tanda hubung digunakan sebagai ganti titik dua untuk
garis konteks. Garis yang berisi "--" adalah output antara setiap kelompok garis,
kecuali mereka sebenarnya bersebelahan dalam file input. Nilai dari jumlah is
diperkirakan relatif kecil. Namun, pcrep jaminan memiliki hingga 8K
teks sebelumnya tersedia untuk keluaran konteks.
--biner-file=kata
Tentukan bagaimana file biner akan diproses. Jika kata "biner" (the
default), pencocokan pola dilakukan pada file biner, tetapi satu-satunya output adalah
"File biner cocok" ketika pertandingan berhasil. Jika kata adalah "teks", yang
setara dengan -a or --teks opsi, file biner diproses di tempat yang sama
cara seperti file lainnya. Dalam hal ini, ketika pertandingan berhasil, hasilnya mungkin:
sampah biner, yang dapat memiliki efek buruk jika dikirim ke terminal. Jika kata
adalah "tanpa kecocokan", yang setara dengan -I opsi, file biner tidak
diproses sama sekali; mereka dianggap tidak menarik.
--ukuran penyangga=jumlah
Atur parameter yang mengontrol berapa banyak memori yang digunakan untuk buffering file yang
sedang dipindai.
-C jumlah, --konteks=jumlah
Keluaran jumlah baris konteks baik sebelum dan sesudah setiap baris yang cocok. Ini
setara dengan mengatur keduanya -A dan -B ke nilai yang sama.
-c, --menghitung
Jangan menampilkan baris individual dari file yang sedang dipindai; sebagai gantinya
output jumlah baris yang seharusnya ditampilkan. Jika tidak ada garis
dipilih, angka nol adalah output. Jika beberapa file sedang dipindai, a
count adalah output untuk masing-masing. Namun, jika --file-dengan-kecocokan pilihannya adalah
juga digunakan, hanya file-file yang jumlahnya lebih besar dari nol yang terdaftar. Kapan
-c digunakan, itu -A, -B, dan -C pilihan diabaikan.
--warna, --warna
Jika opsi ini diberikan tanpa data apa pun, itu sama dengan "--color=auto".
Jika data diperlukan, itu harus diberikan dalam item shell yang sama, dipisahkan oleh
tanda sama dengan.
--warna=nilai, --warna=nilai
Opsi ini menentukan dalam keadaan apa bagian dari garis yang cocok
pola harus diwarnai dalam output. Secara default, outputnya tidak
berwarna. Nilai (yang opsional, lihat di atas) mungkin "tidak pernah", "selalu", atau
"mobil". Dalam kasus terakhir, pewarnaan hanya terjadi jika output standar adalah
terhubung ke terminal. Lebih banyak sumber daya digunakan saat pewarnaan diaktifkan,
karena pcrep harus mencari semua kemungkinan kecocokan dalam satu baris, bukan hanya satu,
untuk mewarnai semuanya.
Warna yang digunakan dapat ditentukan dengan mengatur variabel lingkungan
PCREGREP_COLOUR atau PCREGREP_COLOR. Nilai variabel ini harus berupa string
dari dua angka, dipisahkan oleh titik koma. Mereka disalin langsung ke dalam
string kontrol untuk mengatur warna pada terminal, jadi Anda bertanggung jawab untuk
memastikan bahwa mereka masuk akal. Jika tidak satu pun dari variabel lingkungan diatur,
defaultnya adalah "1;31", yang memberi warna merah.
-D tindakan, --perangkat=tindakan
Jika jalur input bukan file atau direktori biasa, "action" menentukan caranya
adalah untuk diproses. Nilai yang valid adalah "baca" (default) atau "lewati" (diam-diam
melewati jalan).
-d tindakan, --direktori=tindakan
Jika jalur masukan adalah direktori, "tindakan" menentukan bagaimana jalur itu diproses.
Nilai yang valid adalah "baca" (default di lingkungan non-Windows, untuk
kompatibilitas dengan grep GNU), "recurse" (setara dengan -r pilihan), atau "lewati"
(lewati jalur secara diam-diam, default di lingkungan Windows). dalam "baca"
kasus, direktori dibaca seolah-olah mereka adalah file biasa. Dalam beberapa operasi
sistem efek membaca direktori seperti ini adalah file akhir langsung;
di lain hal itu dapat memprovokasi kesalahan.
-e belt hold, --regex=belt hold, --regexp=belt hold
Tentukan pola yang akan dicocokkan. Opsi ini dapat digunakan beberapa kali secara berurutan
untuk menentukan beberapa pola. Itu juga dapat digunakan sebagai cara untuk menentukan satu
pola yang dimulai dengan tanda hubung. Kapan -e digunakan, tidak ada pola argumen yang diambil
dari baris perintah; semua argumen diperlakukan sebagai nama file. Tidak ada
membatasi jumlah pola. Mereka diterapkan ke setiap baris dalam urutan di
yang mereka didefinisikan sampai satu cocok.
If -f digunakan dengan -e, pola baris perintah dicocokkan terlebih dahulu, diikuti oleh
pola dari file, terlepas dari urutan opsi ini
ditentukan. Perhatikan bahwa beberapa penggunaan -e tidak sama dengan pola tunggal
dengan alternatif. Misalnya, X|Y menemukan karakter pertama dalam baris yang
X atau Y, sedangkan jika kedua pola diberikan secara terpisah, dengan X terlebih dahulu, pcrep
menemukan X jika ada, bahkan jika mengikuti Y dalam garis. Ia menemukan Y hanya jika
tidak ada X di baris. Ini penting hanya jika Anda menggunakan -o or --warna
untuk menunjukkan bagian dari garis yang cocok.
--mengecualikan=belt hold
File (tetapi bukan direktori) yang namanya cocok dengan pola akan dilewati tanpa
sedang diproses. Ini berlaku untuk semua file, baik yang terdaftar di baris perintah,
diperoleh dari --daftar-file, atau dengan memindai direktori. Polanya adalah PCRE
ekspresi reguler, dan dicocokkan dengan komponen akhir dari nama file,
bukan seluruh jalan. NS -F, -w, dan -x pilihan tidak berlaku untuk pola ini.
Opsi dapat diberikan beberapa kali untuk menentukan beberapa
pola. Jika nama file cocok dengan keduanya dan --termasuk dan --mengecualikan pola, itu
dikecualikan. Tidak ada formulir singkat untuk opsi ini.
--kecuali-dari=nama file
Perlakukan setiap baris file yang tidak kosong sebagai data untuk --mengecualikan pilihan. Apa
merupakan baris baru ketika membaca file adalah default sistem operasi.
--garis baru opsi tidak berpengaruh pada opsi ini. Opsi ini dapat diberikan lebih banyak
dari sekali untuk menentukan jumlah file yang akan dibaca.
--kecualikan-dir=belt hold
Direktori yang namanya cocok dengan pola dilewati tanpa diproses,
apapun settingnya --rekursif pilihan. Ini berlaku untuk semua direktori,
apakah terdaftar di baris perintah, diperoleh dari --daftar-file, atau dengan memindai
direktori induk. Polanya adalah ekspresi reguler PCRE, dan cocok
terhadap komponen terakhir dari nama direktori, bukan seluruh jalur. NS -F,
-w, dan -x pilihan tidak berlaku untuk pola ini. Opsi dapat diberikan apa saja
beberapa kali untuk menentukan lebih dari satu pola. Jika sebuah direktori
cocok dengan keduanya --termasuk-dir dan --kecualikan-dir, itu dikecualikan. Tidak ada yang pendek
formulir untuk opsi ini.
-F, --string-tetap
Menafsirkan setiap pola pencocokan data sebagai daftar string tetap, dipisahkan oleh
baris baru, bukan sebagai ekspresi reguler. Apa yang dimaksud dengan baris baru?
tujuan ini dikendalikan oleh --garis baru pilihan. Itu -w (cocok sebagai kata) dan
-x (cocok dengan seluruh baris) opsi dapat digunakan dengan -F. Mereka berlaku untuk masing-masing
string tetap. Sebuah garis dipilih jika salah satu string tetap ditemukan di dalamnya
(tunduk pada -w or -x, jika ada). Opsi ini hanya berlaku untuk pola yang
dicocokkan dengan isi file; itu tidak berlaku untuk pola
ditentukan oleh salah satu dari --termasuk or --mengecualikan Pilihan.
-f nama file, --berkas=nama file
Baca pola dari file, satu per baris, dan cocokkan dengan setiap baris
memasukkan. Apa yang merupakan baris baru saat membaca file adalah operasi
default sistem. NS --garis baru opsi tidak berpengaruh pada opsi ini. tertinggal
spasi putih dihapus dari setiap baris, dan baris kosong diabaikan. kosong
file tidak mengandung pola dan karenanya tidak cocok dengan apa pun. Lihat juga komentarnya
tentang beberapa pola versus pola tunggal dengan alternatif di
Deskripsi dari -e atas.
Jika opsi ini diberikan lebih dari sekali, semua file yang ditentukan akan dibaca. Sebuah data
line adalah output jika ada pola yang cocok dengannya. Sebuah nama file dapat diberikan sebagai "-"
untuk merujuk ke input standar. Kapan -f digunakan, pola ditentukan pada
baris perintah menggunakan -e mungkin juga hadir; mereka diuji sebelum file
pola. Namun, tidak ada pola lain yang diambil dari baris perintah; semua
argumen diperlakukan sebagai nama jalur yang akan dicari.
--daftar-file=nama file
Baca daftar file dan/atau direktori yang akan dipindai dari yang diberikan
file, satu per baris. Jejak spasi dihapus dari setiap baris, dan kosong
garis diabaikan. Jalur ini diproses sebelum yang terdaftar di
garis komando. Nama file dapat diberikan sebagai "-" untuk merujuk ke input standar.
If --mengajukan dan --daftar-file keduanya ditentukan sebagai "-", pola dibaca terlebih dahulu.
Ini berguna hanya ketika input standar adalah terminal, dari mana selanjutnya
baris (daftar file) dapat dibaca setelah indikasi akhir file. Jika ini
opsi diberikan lebih dari sekali, semua file yang ditentukan dibaca.
--file-offset
Alih-alih menampilkan garis atau bagian dari garis yang cocok, tunjukkan setiap kecocokan sebagai
offset dari awal file dan panjangnya, dipisahkan dengan koma. Di dalam
mode, tidak ada konteks yang ditampilkan. Itu adalah -A, -B, dan -C pilihan diabaikan. Jika
ada lebih dari satu kecocokan dalam satu baris, masing-masing ditampilkan secara terpisah. Ini
opsi saling eksklusif dengan --line-offset dan --hanya-pencocokan.
-H, --dengan-nama file
Paksa penyertaan nama file di awal baris keluaran saat mencari
satu file. Secara default, nama file tidak ditampilkan dalam kasus ini. Untuk mencocokkan
baris, nama file diikuti oleh titik dua; untuk baris konteks, tanda hubung
pemisah digunakan. Jika nomor baris juga dikeluarkan, itu mengikuti file
Nama.
-h, --tanpa nama file
Menekan nama file output saat mencari beberapa file. Secara default,
nama file ditampilkan ketika banyak file dicari. Untuk garis yang cocok,
nama file diikuti oleh titik dua; untuk baris konteks, pemisah tanda hubung digunakan.
Jika nomor baris juga dikeluarkan, itu mengikuti nama file.
--membantu Keluarkan pesan bantuan, berikan detail singkat tentang opsi perintah dan jenis file
dukungan, dan kemudian keluar. Apa pun di baris perintah diabaikan.
-I Perlakukan file biner sebagai tidak pernah cocok. Ini setara dengan --biner-
arsip=tanpa pertandingan.
-i, --abaikan-kasus
Abaikan perbedaan huruf besar/kecil selama perbandingan.
--termasuk=belt hold
Jika ada --termasuk pola ditentukan, satu-satunya file yang diproses adalah
yang cocok dengan salah satu pola (dan tidak cocok dengan salah satu pola) --mengecualikan pola).
Opsi ini tidak memengaruhi direktori, tetapi berlaku untuk semua file, baik
terdaftar di baris perintah, diperoleh dari --daftar-file, atau dengan memindai
direktori. Polanya adalah ekspresi reguler PCRE, dan dicocokkan dengan
komponen terakhir dari nama file, bukan seluruh jalur. NS -F, -w, dan -x
pilihan tidak berlaku untuk pola ini. Opsi dapat diberikan sejumlah
waktu. Jika nama file cocok dengan keduanya dan --termasuk dan --mengecualikan pola, itu adalah
pengecualian. Tidak ada formulir singkat untuk opsi ini.
--termasuk-dari=nama file
Perlakukan setiap baris file yang tidak kosong sebagai data untuk --termasuk pilihan. Apa
merupakan baris baru untuk tujuan ini adalah default sistem operasi. NS
--garis baru opsi tidak berpengaruh pada opsi ini. Opsi ini dapat diberikan apa saja
berkali-kali; semua file dibaca.
--termasuk-dir=belt hold
Jika ada --termasuk-dir pola ditentukan, satu-satunya direktori yang
diproses adalah yang cocok dengan salah satu pola (dan tidak cocok dengan
--kecualikan-dir pola). Ini berlaku untuk semua direktori, baik yang terdaftar di
baris perintah, diperoleh dari --daftar-file, atau dengan memindai direktori induk. NS
pattern adalah ekspresi reguler PCRE, dan dicocokkan dengan komponen akhir
dari nama direktori, bukan seluruh jalur. NS -F, -w, dan -x pilihan tidak
berlaku untuk pola ini. Opsi dapat diberikan beberapa kali. Jika sebuah
direktori cocok dengan keduanya --termasuk-dir dan --kecualikan-dir, itu dikecualikan. Ada
tidak ada formulir singkat untuk opsi ini.
-L, --file-tanpa-kecocokan
Alih-alih mengeluarkan baris dari file, cukup tampilkan nama file
yang tidak mengandung baris apa pun yang akan menjadi output. Setiap nama file adalah
output sekali, pada baris terpisah.
-l, --file-dengan-kecocokan
Alih-alih mengeluarkan baris dari file, cukup tampilkan nama file
berisi baris yang akan menjadi output. Setiap nama file dikeluarkan satu kali, pada
garis terpisah. Pencarian biasanya berhenti segera setelah garis yang cocok ditemukan di
file. Namun, jika -c (hitungan) opsi juga digunakan, pencocokan berlanjut di
untuk mendapatkan jumlah yang benar, dan file-file yang memiliki setidaknya satu kecocokan
terdaftar bersama dengan jumlah mereka. Menggunakan opsi ini dengan -c adalah cara
menekan daftar file tanpa kecocokan.
--label=nama
Opsi ini memberikan nama yang akan digunakan untuk input standar ketika nama file
sedang keluaran. Jika tidak disertakan, "(input standar)" digunakan. Tidak ada yang pendek
formulir untuk opsi ini.
--line-buffer
Ketika opsi ini diberikan, input dibaca dan diproses baris demi baris, dan
output memerah setelah setiap menulis. Secara default, input dibaca dalam potongan besar,
kecuali kalau pcrep dapat menentukan bahwa itu membaca dari terminal (yaitu
saat ini hanya mungkin di lingkungan mirip Unix). Keluaran ke terminal adalah
biasanya secara otomatis memerah oleh sistem operasi. Opsi ini dapat
berguna ketika input atau output terpasang ke pipa dan Anda tidak ingin
pcrep untuk menyangga sejumlah besar data. Namun, penggunaannya akan mempengaruhi
kinerja, dan -M (multiline) pilihan berhenti bekerja.
--line-offset
Alih-alih menunjukkan garis atau bagian dari garis yang cocok, tunjukkan setiap kecocokan sebagai garis
nomor, offset dari awal baris, dan panjang. Nomor baris adalah
diakhiri dengan titik dua (seperti biasa; lihat -n opsi), dan offset dan panjangnya
dipisahkan dengan koma. Dalam mode ini, tidak ada konteks yang ditampilkan. Itu adalah -A,
-B, dan -C pilihan diabaikan. Jika ada lebih dari satu kecocokan dalam satu baris, masing-masing
dari mereka ditampilkan secara terpisah. Opsi ini saling eksklusif dengan --mengajukan-
offset dan --hanya-pencocokan.
--lokal=nama-lokal
Opsi ini menentukan lokal yang akan digunakan untuk pencocokan pola. Ini menimpa
nilai di LC_SEMUA or LC_CTYPE variabel lingkungan. Jika tidak ada lokal
ditentukan, default perpustakaan PCRE (biasanya lokal "C") digunakan. Ada
tidak ada formulir singkat untuk opsi ini.
--batas-pertandingan=jumlah
Memproses beberapa pola ekspresi reguler dapat memerlukan sejumlah besar
memori, yang dalam beberapa kasus menyebabkan crash program jika tidak cukup tersedia.
Pola lain mungkin membutuhkan waktu yang sangat lama untuk mencari semua kemungkinan yang cocok
string. NS pcre_exec() fungsi yang disebut dengan pcrep untuk melakukan pencocokan
memiliki dua parameter yang dapat membatasi sumber daya yang digunakannya.
--batas-pertandingan opsi menyediakan sarana untuk membatasi penggunaan sumber daya ketika
pola pemrosesan yang tidak akan cocok, tetapi memiliki yang sangat besar
sejumlah kemungkinan di pohon pencarian mereka. Contoh klasiknya adalah pola
yang menggunakan pengulangan tak terbatas bersarang. Secara internal, PCRE menggunakan fungsi yang disebut
cocok() yang dipanggil berulang kali (kadang-kadang secara rekursif). Batas yang ditentukan oleh
--batas-pertandingan dikenakan pada berapa kali fungsi ini dipanggil selama a
pertandingan, yang memiliki efek membatasi jumlah lacak balik yang dapat dilakukan
tempat.
--rekursi-batas opsi mirip dengan --batas-pertandingan, tetapi alih-alih
membatasi jumlah kali itu cocok() disebut, itu membatasi kedalaman
panggilan rekursif, yang pada gilirannya membatasi jumlah memori yang dapat digunakan.
Kedalaman rekursi lebih kecil dari jumlah panggilan, karena
tidak semua panggilan ke cocok() bersifat rekursif. Batas ini hanya berguna jika disetel
lebih kecil dari --batas-pertandingan.
Tidak ada formulir singkat untuk opsi ini. Pengaturan default ditentukan
ketika perpustakaan PCRE dikompilasi, dengan default default adalah 10 juta.
-M, --multibaris
Izinkan pola untuk mencocokkan lebih dari satu baris. Ketika opsi ini diberikan, pola
mungkin berguna berisi karakter baris baru literal dan kemunculan internal ^
dan $ karakter. Output untuk pertandingan yang sukses dapat terdiri dari lebih dari satu
garis, yang terakhir adalah garis di mana pertandingan berakhir. Jika cocok
string berakhir dengan urutan baris baru, output berakhir di akhir baris itu.
Ketika opsi ini disetel, pustaka PCRE dipanggil dalam mode "multiline". Di sana
adalah batas jumlah garis yang dapat dicocokkan, ditentukan dengan cara itu
pcrep buffer file input saat memindai. Namun, pcrep memastikan itu
setidaknya 8K karakter atau sisa dokumen (mana yang lebih pendek)
tersedia untuk pencocokan maju, dan juga karakter 8K sebelumnya (atau
semua karakter sebelumnya, jika kurang dari 8K) dijamin tersedia
untuk melihat ke belakang pernyataan. Opsi ini tidak berfungsi saat input dibaca baris demi baris
garis (lihat --line-buffer.)
-N tipe baris baru, --garis baru=tipe baris baru
Pustaka PCRE mendukung lima konvensi berbeda untuk menunjukkan akhir dari
garis. Mereka adalah urutan karakter tunggal CR (carriage return) dan LF
(linefeed), urutan dua karakter CRLF, konvensi "anycrlf", yang
mengenali salah satu dari tiga jenis sebelumnya, dan konvensi "apa pun", di mana:
setiap urutan akhir baris Unicode diasumsikan mengakhiri sebuah baris. Urutan Unicode
adalah tiga yang baru saja disebutkan, ditambah VT (tab vertikal, U+000B), FF (umpan formulir,
U+000C), NEL (baris berikutnya, U+0085), LS (pemisah baris, U+2028), dan PS (paragraf
pemisah, U+2029).
Ketika perpustakaan PCRE dibangun, urutan akhir baris default ditentukan.
Ini biasanya urutan standar untuk sistem operasi. Kecuali
ditentukan lain oleh opsi ini, pcrep menggunakan default perpustakaan. NS
kemungkinan nilai untuk opsi ini adalah CR, LF, CRLF, ANYCRLF, atau ANY. Ini membuatnya
mungkin untuk digunakan pcrep untuk memindai file yang berasal dari lingkungan lain
tanpa harus mengubah akhir baris mereka. Jika data yang sedang dipindai
tidak setuju dengan konvensi yang ditetapkan oleh opsi ini, pcrep mungkin berperilaku dalam
cara-cara yang aneh. Perhatikan bahwa opsi ini tidak berlaku untuk file yang ditentukan oleh -f,
--kecuali-dari, atau --termasuk-dari opsi, yang diharapkan menggunakan
urutan baris baru standar sistem operasi.
-n, --nomor-baris
Awali setiap baris keluaran dengan nomor barisnya dalam file, diikuti dengan titik dua untuk
garis yang cocok atau tanda hubung untuk garis konteks. Jika nama file juga sedang
output, itu mendahului nomor baris. Opsi ini dipaksakan jika --line-offset is
bekas.
--tidak-jit Jika perpustakaan PCRE dibangun dengan dukungan untuk kompilasi tepat waktu (yang
mempercepat pencocokan), pcrep secara otomatis memanfaatkan ini, kecuali itu
secara eksplisit dinonaktifkan pada waktu pembuatan. Opsi ini dapat digunakan untuk menonaktifkan penggunaan
JIT pada saat dijalankan. Ini disediakan untuk pengujian dan penyelesaian masalah. Dia
seharusnya tidak pernah diperlukan dalam penggunaan normal.
-o, --hanya-pencocokan
Tampilkan hanya bagian dari garis yang cocok dengan pola, bukan seluruh garis.
Dalam mode ini, tidak ada konteks yang ditampilkan. Itu adalah -A, -B, dan -C pilihannya adalah
diabaikan. Jika ada lebih dari satu kecocokan dalam satu baris, masing-masing akan ditampilkan
terpisah. Jika -o digabungkan dengan -v (balikkan arti kecocokan untuk menemukan
garis yang tidak cocok), tidak ada output yang dihasilkan, tetapi kode pengembalian diatur
dengan tepat. Jika bagian baris yang cocok kosong, tidak ada yang keluar
kecuali nama file atau nomor baris sedang dicetak, dalam hal ini mereka
ditampilkan pada baris lain yang kosong. Opsi ini saling eksklusif dengan --mengajukan-
offset dan --line-offset.
-ojumlah, --hanya-pencocokan=jumlah
Tampilkan hanya bagian dari baris yang cocok dengan tanda kurung penangkap dari
diberikan nomor. Mendukung hingga 32 tanda kurung penangkap, dan -o0 adalah
setara dengan -o tanpa nomor. Karena opsi ini dapat diberikan tanpa
argumen (lihat di atas), jika ada argumen, itu harus diberikan dengan cara yang sama
item shell, misalnya, -o3 atau --only-matching=2. Komentar yang diberikan untuk
kasus non-argumen di atas juga berlaku untuk kasus ini. Jika penangkapan yang ditentukan
tanda kurung tidak ada dalam pola, atau tidak disetel dalam kecocokan, tidak ada apa-apa
adalah output kecuali nama file atau nomor baris sedang dicetak.
Jika opsi ini diberikan beberapa kali, beberapa substring akan dikeluarkan, di
memesan opsi yang diberikan. Misalnya, -o3 -o1 -o3 menyebabkan substring
dicocokkan dengan menangkap tanda kurung 3 dan 1 dan kemudian 3 lagi untuk menjadi output. Oleh
default, tidak ada pemisah (tetapi lihat opsi berikutnya).
--om-pemisah=teks
Tentukan string pemisah untuk beberapa kemunculan -o. Standarnya adalah
string kosong. Memisahkan string tidak pernah berwarna.
-q, --diam
Bekerja dengan tenang, yaitu, tidak menampilkan apa pun kecuali pesan kesalahan. Status keluar
menunjukkan apakah ditemukan kecocokan atau tidak.
-r, --rekursif
Jika jalur yang diberikan adalah direktori, pindai file yang dikandungnya secara rekursif, ambil
catatan apapun --termasuk dan --mengecualikan pengaturan. Secara default, direktori dibaca sebagai
berkas biasa; di beberapa sistem operasi ini memberikan akhir file langsung.
Opsi ini adalah singkatan untuk menyetel -d pilihan untuk "berulang".
--rekursi-batas=jumlah
Lihat --batas-pertandingan atas.
-s, --tidak ada pesan
Menekan pesan kesalahan tentang file yang tidak ada atau tidak dapat dibaca. File tersebut adalah
diam-diam dilewati. Namun, kode pengembaliannya masih 2, bahkan jika kecocokan ditemukan
di file lain.
-u, --utf-8
Beroperasi dalam mode UTF-8. Opsi ini hanya tersedia jika PCRE telah dikompilasi
dengan dukungan UTF-8. Semua pola (termasuk untuk setiap --mengecualikan dan
--termasuk options) dan semua baris subjek yang dipindai harus berupa string yang valid
dari karakter UTF-8.
-V, --Versi: kapan
Tulis nomor versi dari pcrep dan perpustakaan PCRE ke standar
keluaran dan kemudian keluar. Apa pun di baris perintah diabaikan.
-v, --balik-pertandingan
Balikkan arti kecocokan, sehingga garis yang cocok tidak cocok dengan salah satu
pola adalah orang-orang yang ditemukan.
-w, --kata-regex, --kata-regexp
Paksa pola untuk mencocokkan hanya seluruh kata. Ini setara dengan memiliki \b di
awal dan akhir pola. Opsi ini hanya berlaku untuk pola yang
dicocokkan dengan isi file; itu tidak berlaku untuk pola
ditentukan oleh salah satu dari --termasuk or --mengecualikan Pilihan.
-x, --line-regex, --baris-regexp
Paksa pola untuk ditambatkan (masing-masing harus mulai cocok di awal
satu baris) dan di samping itu, mengharuskan mereka untuk mencocokkan seluruh baris. Ini setara
untuk memiliki ^ dan $ karakter di awal dan akhir setiap cabang alternatif di
setiap pola. Opsi ini hanya berlaku untuk pola yang dicocokkan
isi file; itu tidak berlaku untuk pola yang ditentukan oleh salah satu dari
--termasuk or --mengecualikan Pilihan.
LINGKUNGAN VARIABEL
Variabel lingkungan LC_SEMUA dan LC_CTYPE diperiksa, dalam urutan itu, untuk suatu lokal.
Yang pertama diatur digunakan. Ini dapat ditimpa oleh --lokal pilihan. Jika tidak
lokal diatur, default perpustakaan PCRE (biasanya lokal "C") digunakan.
GARIS BARU
-N (--garis baru) opsi memungkinkan pcrep untuk memindai file dengan konvensi baris baru yang berbeda
dari default. Setiap bagian dari file input yang ditulis ke output standar adalah
disalin secara identik, dengan urutan baris baru apa pun yang mereka miliki di input. Namun,
pengaturan opsi ini tidak mempengaruhi interpretasi file yang ditentukan oleh -f,
--kecuali-dari, atau --termasuk-dari opsi, yang diasumsikan menggunakan sistem operasi
urutan baris baru standar, juga tidak mempengaruhi cara di mana pcrep menulis
pesan informasi ke kesalahan standar dan aliran keluaran. Untuk ini ia menggunakan
string "\n" untuk menunjukkan baris baru, mengandalkan perpustakaan CI/O untuk mengonversinya menjadi
urutan yang sesuai.
PILIHAN KOMPATIBILITAS
Banyak bentuk pendek dan panjang dari pcrepPilihannya sama seperti di GNU grep
program. Opsi panjang apa pun dari formulir --xxx-regexp (Terminologi GNU) juga tersedia sebagai
--xxx-regex (Terminologi PCRE). Namun, --daftar-file, --file-offset, --termasuk-dir,
--line-offset, --lokal, --batas-pertandingan, -M, --multibaris, -N, --garis baru, --om-pemisah,
--rekursi-batas, -u, dan --utf-8 pilihan khusus untuk pcrep, seperti penggunaan
--hanya-pencocokan opsi dengan nomor kurung penangkap.
Meskipun sebagian besar opsi umum bekerja dengan cara yang sama, beberapa berbeda dalam pcrep.
Sebagai contoh, --termasuk argumen option adalah gumpalan untuk GNU grep, tapi biasa
ekspresi untuk pcrep. Jika keduanya -c dan -l opsi diberikan, grep GNU hanya mencantumkan file
nama, tanpa hitungan, tapi pcrep memberikan hitungan.
PILIHAN DENGAN DATA
Ada empat cara berbeda di mana opsi dengan data dapat ditentukan. Jika pendek
opsi formulir digunakan, data dapat segera mengikuti, atau (dengan satu pengecualian) di berikutnya
item baris perintah. Sebagai contoh:
-f/beberapa/file
-f /beberapa/file
Pengecualiannya adalah -o pilihan, yang mungkin muncul dengan atau tanpa data. Karena ini,
jika ada data, itu harus segera mengikuti item yang sama, misalnya -o3.
Jika opsi formulir panjang digunakan, data mungkin muncul di item baris perintah yang sama,
dipisahkan oleh karakter yang sama, atau (dengan dua pengecualian) mungkin muncul di berikutnya
item baris perintah. Sebagai contoh:
--file=/beberapa/file
--file /beberapa/file
Namun, perhatikan bahwa jika Anda ingin memberikan nama file yang diawali dengan ~ sebagai data dalam shell
perintah, dan minta Shell memperluas ~ ke direktori home, Anda harus memisahkan nama file
dari opsi, karena shell tidak memperlakukan ~ secara khusus kecuali di awal
sebuah benda.
Pengecualian untuk hal di atas adalah --warna (Atau --warna) Dan --hanya-pencocokan pilihan, untuk
yang datanya opsional. Jika salah satu opsi ini memang memiliki data, itu harus diberikan dalam
bentuk pertama, menggunakan karakter yang sama. Sebaliknya pcrep akan menganggap bahwa itu tidak memiliki
Data.
SESUAI GALAT
Dimungkinkan untuk menyediakan ekspresi reguler yang membutuhkan waktu sangat lama untuk gagal mencocokkan
garis-garis tertentu. Pola seperti itu biasanya melibatkan pengulangan tak terbatas bersarang, misalnya:
(a+)*\d ketika dicocokkan dengan garis a tanpa digit akhir. Fungsi pencocokan PCRE
memiliki batas sumber daya yang menyebabkannya dibatalkan dalam keadaan ini. Jika ini terjadi,
pcrep mengeluarkan pesan kesalahan dan saluran yang menyebabkan masalah ke standar
aliran kesalahan. Jika ada lebih dari 20 kesalahan seperti itu, pcrep menyerah.
--batas-pertandingan pilihan dari pcrep dapat digunakan untuk mengatur batas sumber daya secara keseluruhan; di sana
adalah opsi kedua yang disebut --rekursi-batas yang menetapkan batas jumlah memori
(biasanya stack) yang digunakan (lihat pembahasan opsi-opsi tersebut di atas).
DIAGNOSTIK
Status keluar adalah 0 jika ada kecocokan yang ditemukan, 1 jika tidak ada kecocokan yang ditemukan, dan 2 untuk sintaks
kesalahan, garis yang terlalu panjang, file yang tidak ada atau tidak dapat diakses (bahkan jika kecocokan ditemukan di
file lain) atau terlalu banyak kesalahan pencocokan. Menggunakan -s opsi untuk menekan pesan kesalahan
tentang file yang tidak dapat diakses tidak memengaruhi kode pengembalian.
Gunakan zpcregrep online menggunakan layanan onworks.net