다섯줄 간격으로 행을 추출하는 방법은?

ytt123의 이미지

파일안에서 원하는 행만 추출하여 새 파일에 저장하고 싶습니다.

가령, 5줄마다, 즉 1번째줄, 6번째줄, 11번째줄, 16번째줄....만 선택하고 싶습니다.
파일마다 줄 갯수가 다르므로 맨 마지막번째 줄은 알 수가 없구요.

어떤 방법을 써야 할까요?

익명 사용자의 이미지

awk '(NR % 5 == 1){print $0}'

익명 사용자의 이미지

awk '(NR % 5 == 1){print $0}' filename

allinux의 이미지

getLines = lambda rf, lineNums:(line for i, line in enumerate(rf) if i + 1 in lineNums)
result = getLines(open('read_file_path'), [i for i in range(1, 20, 5)])
with open('new_file_path', 'w') as wf:
    wf.writelines(result)
 
#===============================================
result = map(lambda ele:ele[1], filter(lambda ele: ele[0] + 1 in range(1, 20, 5), enumerate(open('read_file_path'))))
with open('new_file_path', 'w') as wf:
    wf.writelines(result)