CATATAN: Pertanyaan ini merupakan pelengkap dari T&J ini: Bagaimana cara "grep" untuk panjang garis dalam rentang tertentu?
Bagaimana kita bisa menerima baris yang memiliki kurang dari 8 atau lebih dari 63 karakter, tidak ada yang mengandung lebih dari delapan dan kurang dari 63 karakter?
Jadi, beberapa jumlah karakter yang dapat diterima bisa ...
7 6 5 4 3 2 1 0
...dan...
64 65 66 67 ...
text-processing
grep
regular-expression
LoukiosValentine79
sumber
sumber
grep
, tetapi Anda dapat mempertimbangkanawk
, terutama jika Anda membutuhkan pemrosesan lebih lanjut, dll (sangat fleksibel, dan dapat dibaca ):awk '( length($0)<8 ) || ( length($0)>63 )'
Tindakan #default dari suatu kondisi adalah mencetak baris yang cocok dengan kondisi tersebut. Atau, dengan pemrosesan lebih sedikit pada $ 0:awk '{ l=length($0) ; if (( l<8 ) || l>63 ) { print $0 ;} }'
Jawaban:
grep
's-x
saklar menandakan seluruh baris pertandingan - yang mengatakan bahwa setiap pola yang cocok harus menentukan garis dari kepala ke ekor. perbuatan...... umumnya setara dengan ...
grep
's-v
beralih meniadakan pengaruh pola pada line-seleksi. umumnya melakukan ...... hanya akan memilih garis yang cocok dengan pola, tetapi dengan
-v
pola yang dinegasikan hanya garis yang tidak cocok yang dipilih....dan sebagainya...
... cocok dengan semua baris yang terdiri dari head to tail di mana saja antara 8 dan 63 karakter, dan pemilihan yang
-v
dinegasikangrep
hanya menyebabkan untuk mencetak yang lainnya.sumber