필자는 구분 된 텍스트 파일을 기반으로 한 가져 오기 시스템을 사용합니다. 사용되는 파일은 때로는 거의 2GB가 될 수 있으며 그 파일에서 몇 줄을 확인해야합니다. 그래서 특정 값의 행을 다른 파일 또는 화면에 출력 할 수 있는지 알고 싶습니다. 예 : 라인 번호 1010123, 1002451, 994123 등은 소스 파일에있는 그대로 사용 하시겠습니까?유닉스의 거대한 텍스트 파일에서 특정 라인을 얻는 방법은 무엇입니까?
답변
라인 N
을 인쇄하려면, 사용 :
sed 'Nq;d' file
여러 줄을 인쇄하려면 (그들은에있는 가정 오름차순) 예 994123, 1002451, 101:.
이sed '994123p;1002451p;1010123q;d' file
q
마지막 행 번호 대신 우리가에 관심이없는 나머지 라인을 통해 반복하여 시간을 낭비의 1010123th 라인에 도달하면 종료 sed
지시 후 즉 큰 파일에서 왜 효율적인지. 파이썬에서
당신은 awk
으로 예를 들어, 많은 유닉스 도구를 사용하여이 작업을 수행 할 수 있습니다
# print first 5 lines with awk
awk 'NR>=1&&NR<=5{print}NR>=6{exit}' file
# print selection of lines
awk 'NR==994123||NR==1002451||NR==1010123{print}NR>1010123{exit}' file
방법'sed' /'awk' 같은 매우 큰 파일에 수행 않습니다 (getline.py 1234 등) 인수와 함께 작동하도록 해당 스크립트를 수정할 수 있습니다 원한다면 그가 질문에서 언급 한 것들 (~ 2GB)? –
줄 번호가 순차적이지 않습니다. 처음 N 번째 또는 마지막 N 번째가 아닙니다. 그들은 단지 오류가있는 행입니다. 나는 테이블에 행 번호를 가지고 있으며, 단지 특정 행 번호 만 출력하려고합니다. – BogdanM
@ BogdanM이 두 번째'awk' 예제를 봅니다. (dogbane answers는 sed와 함께 보여줍니다.) 나는 인쇄 범위가 또한 당신에게 유용 할 것이라고 생각했습니다. –
:
readThisFile = open('YOURFILE')
outputFile = open('OUTPUT', w)
for actualline, linetext in enumerate(readThisFile):
if actualline == WANTEDLINE
outputFile.write(linetext)
else:
pass
당신이
질문에'unix' 태그가 붙어 있기 때문에'outputFile.write (linetext)'가 출력 된 후에 종료하는 것이 더 효율적입니다. 그래서 OP에는'Python'이 있습니다. –
Python을 사용할 수 있는지 여부를 말할 수 없습니다 (그는 언어를 쓰고 싶은 언어를 말하지 않았습니다). 그리고 줄을 서서 끝내기 때문에 : 할 수는 있겠지만 제 스크립트는 "스크립트를 사용하고 복사하고 붙여 넣기 만하면됩니다"스크립트가 아니라 스크립트를 사용하여 어떻게 수행 할 수 있는지 알려주고 있습니다. – chill0r
- 1. PowerShell의 텍스트 파일에서 업데이트 된 라인을 얻는 방법은 무엇입니까?
- 2. Ruby on Rails의 텍스트 파일에서 특정 라인을 삭제하는 방법은 무엇입니까?
- 3. VBA는 : 텍스트 파일에서 특정 라인을 참조
- 4. 텍스트 파일에서 특정 라인을 삭제 하시겠습니까?
- 5. 텍스트 파일에서 라인을 호출하고
- 6. 유닉스의 EAR 파일에서 특정 클래스 파일을 추출합니다.
- 7. 파일에서 특정 라인을 읽는 방법?
- 8. 거대한 텍스트 파일에서 문자열 찾기
- 9. 부스트 : 거대한 텍스트 파일에서 반복자의 위치를 찾는 방법은 무엇입니까?
- 10. 이 큰 파일에서 특정 라인을 읽기 * 빠른 *
- 11. 텍스트 파일에서 무작위 라인을 반환
- 12. 거대한 텍스트 파일에서 텍스트 덩어리를 읽는 방법?
- 13. 텍스트 상자의 텍스트 파일에서 특정 텍스트 줄을 표시하는 방법은 무엇입니까?
- 14. 파이썬에서 특정 라인을 얻는 방법
- 15. Inno Setup - 설치하는 동안 텍스트 파일에서 특정 라인을 편집하는 방법?
- 16. 는 C에서 텍스트 파일에서 특정 라인을 인쇄하는 방법
- 17. 거대한 텍스트 파일을 빠르게 처리하는 방법은 무엇입니까?
- 18. 데이터베이스에서 거대한 데이터를 얻는 방법은 무엇입니까?
- 19. asp.net에서 텍스트 파일의 특정 라인을 편집 하시겠습니까?
- 20. PHP로 거대한 파일에서 한 줄 가져 오기
- 21. 텍스트 파일에서 K 개의 무작위 라인을 선택하십시오.
- 22. 어떻게 텍스트 파일에서 임의의 라인을 에코
- 23. 자바에서 텍스트 파일에서 라인을 삭제하는 방법
- 24. 파이썬으로 텍스트 파일에서 x 라인을 읽는 법
- 25. 이전 출력에서 특정 라인을 참조하는 방법은 무엇입니까?
- 26. 거대한 텍스트 파일에 문자열을 포함하고있는 모든 라인을 가능한 한 빨리 가져 옵니까?
- 27. 텍스트 파일에서 특정 문자열 읽기
- 28. 거대한 CSV 파일에서 PHP로 데이터를 추출하는 방법은 무엇입니까?
- 29. "/ proc/cpuinfo"파일에서 안드로이드 장치의 특정 정보를 얻는 방법은 무엇입니까?
- 30. avi 파일에서 프레임 수를 얻는 방법은 무엇입니까? 특정 프레임으로 이동합니까?
감사합니다. 그것은 매력처럼 작동했습니다 :) – BogdanM