指定された正確な長さのレコードを見つける方法

指定された正確な長さのレコードを見つける方法

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()

関連情報