LƯU Ý: Câu hỏi này là phần bổ sung của Câu hỏi và trả lời này: Làm thế nào để "grep" cho độ dài dòng trong một phạm vi nhất định?
Làm cách nào chúng ta có thể grep cho các dòng có ít hơn 8 hoặc nhiều hơn 63 ký tự, không có dòng nào có nhiều hơn tám và ít hơn 63 ký tự?
Vì vậy, một số lượng nhân vật chấp nhận được có thể là ...
7 6 5 4 3 2 1 0
... và ...
64 65 66 67 ...
grep
, nhưng bạn có thể cân nhắcawk
, đặc biệt nếu bạn cần xử lý thêm, v.v (rất linh hoạt và dễ đọc ):awk '( length($0)<8 ) || ( length($0)>63 )'
hành động #default của một điều kiện là in (các) dòng phù hợp với điều kiện. Hoặc, với ít xử lý hơn trên $ 0:awk '{ l=length($0) ; if (( l<8 ) || l>63 ) { print $0 ;} }'