UNIXには100000レコードを含むファイルがあります。レコード長 = 1000 でレコードをフィルタリングしようとしています。
レコード長が1000より大きい場合は、最終ペナルティでそのレコードを無視しようとします。次のコマンドを試しましたが、機能しません
grep -x '.\{1000,1000\}' File
答え1
awkを使用して1000文字のレコードのみを印刷できます。
awk 'length==1000' File
これは、以下とまったく同じです。
awk 'length($0)==1000{print $0}' File
デフォルトでは、awk は条件が満たされるとその行を印刷します。
答え2
おそらくAwkはそうすることでこれを行うことができます。
awk 'length($0) == 1000' file
答え3
Pythonのソリューション。
#!/usr/bin/env python
f = open('filename.log', 'r')
for line in f:
if len(line) > 1000:
continue
else:
# do the stuff
f.close()