grep -xv '.\{8,63\}' <input >output
grep
के -x
स्विच एक अर्थ है पूरी लाइन जो कहना है कि किसी भी पैटर्न मिलान किया पूंछ को सिर से एक रेखा को परिभाषित करना होगा है - मैच। करते हुए...
grep -x pattern
... आम तौर पर इसके बराबर है ...
grep ^pattern$
grep
के -v
स्विच लाइन चयन पर एक पैटर्न के प्रभाव को नकारता। आम तौर पर कर ...
grep pattern
... -v
केवल उन रेखाओं का चयन करेंगे जो पैटर्न से मेल खाते हैं, लेकिन एक नकारात्मक पैटर्न के साथ केवल वे रेखाएं जो मेल नहीं खाती हैं, का चयन किया जाता है।
...इसलिए...
grep -xv '.\{8,63\}'
... उन सभी रेखाओं से मेल खाता है जो 8 से 63 वर्णों के बीच सिर से लेकर पूंछ तक होती हैं, और -v
नकारा हुआ चयन grep
ही सब कुछ छापने का कारण बनता है।
grep
, लेकिन आप विचार कर सकते हैंawk
, खासकर अगर आपको आगे की प्रक्रिया की आवश्यकता है, आदि (बहुत लचीला, और पठनीय ):awk '( length($0)<8 ) || ( length($0)>63 )'
किसी स्थिति की #default क्रिया स्थिति से मेल खाते हुए लाइन को प्रिंट करना है। या, $ 0 पर कम प्रसंस्करण के साथ:awk '{ l=length($0) ; if (( l<8 ) || l>63 ) { print $0 ;} }'