CATATAN: Pertanyaan ini merupakan pelengkap dari T&J ini: Bagaimana cara "grep" untuk panjang garis * tidak * dalam rentang tertentu?
Saya hanya perlu mendapatkan baris dari file teks (daftar kata, dipisahkan dengan baris baru) yang memiliki rentang panjang minimum atau sama dengan 3 karakter, tetapi tidak lebih panjang atau sama dengan 10.
Contoh:
MEMASUKKAN:
egyezményét
megkíván
ki
alma
kevesen
meghatározó
KELUARAN:
megkíván
alma
kevesen
Pertanyaan: Bagaimana saya bisa melakukan ini bash
?
grep -x '.\{3,10\}'
Jawaban:
dimana
-x
mencocokkan pola ke seluruh baris.
simbol apa pun{3,10}
mengukur dari 3 hingga 10 kali simbol sebelumnya (dalam kasus yang mana saja)sumber
menggunakan egrep
cocok dari awal hingga akhir baris untuk 3 karakter atau lebih tetapi kurang dari atau sama dengan 10 karakter.
sumber
Menggunakan
sed
:Atau:
sumber
Menggunakan
awk
:The
length
pernyataan akan mengembalikan panjang$0
(saat record / baris) secara default, dan ini digunakan oleh kode untuk menguji cuaca garis ini panjang adalah dalam kisaran yang diberikan. Jika tes seperti ini tidak memiliki blok tindakan yang sesuai, maka tindakan default adalah mencetak catatan.Pengujian pada data yang diberikan:
Demikian pula dengan Perl:
sumber