grep -xv '.\{8,63\}' <input >output
grep's -xanahtarı bir tam çizgi eşleşmesini gösterir - yani eşleşen herhangi bir desen baştan aşağı bir çizgi tanımlamalıdır. yapıyor ...
grep -x pattern
... genellikle ...
grep ^pattern$
grep's -vanahtarı, bir desenin satır seçimi üzerindeki etkisini reddeder. genellikle ...
grep pattern
... sadece kalıpla eşleşen satırları seçecektir, ancak bir ile -vreddedildiği desen yalnızca bu satırları yok eşleşecek seçilir.
...ve bu yüzden...
grep -xv '.\{8,63\}'
... 8 ile 63 karakter arasında herhangi bir yerden başlayarak kuyruğa kadar olan tüm satırlarla eşleşir ve -vreddedilen seçim grepyalnızca diğer her şeyin yazdırılmasına neden olur .
grepama düşünebilirawksen (çok esnek ve vb bundan başka işleme gerek, özellikle okunabilir ):awk '( length($0)<8 ) || ( length($0)>63 )'Bir durumun #default eylem koşulunu eşleşen çizgi (ler) yazdırmaktır. Veya, 0 $ 'dan daha az işlem yaparak:awk '{ l=length($0) ; if (( l<8 ) || l>63 ) { print $0 ;} }'