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
파이썬의 솔루션.
#!/usr/bin/env python
f = open('filename.log', 'r')
for line in f:
if len(line) > 1000:
continue
else:
# do the stuff
f.close()