쉼표로 정렬된 데이터를 보려면 less를 사용하세요.

쉼표로 정렬된 데이터를 보려면 less를 사용하세요.

나는CSV 파일.

비슷한 명령을 사용하여 내 파일을 보고 싶습니다 less. 이 명령은 일부를 표시하기 위해 전체 파일을 한 번에 읽을 필요가 없습니다.

내 파일을 쉼표로 정렬된 열에 표시하는 명령이 있습니까?

답변1

이것이 당신에게 충분한지 확실하지 않지만 프로그램을 활용 하고 다음을 사용하여 column파일의 선택된 부분을 읽을 수 있습니다.headtail

 head -n 300 myfile.csv | tail -n 100 | column -ts ',' | less
 head -n-300 myfile.csv | head -n 100 | column -ts ',' | less

파일의 다른 부분을 한 번에 보기 위해 일부 스크립트로 래핑할 수 있습니다(아마도 less그렇게 많지는 않을 것입니다). 그 외에도 작업을 수행하기 위해 GNU 도구만 사용하는 데에는 문제가 있을 것 같습니다.

답변2

less그러나 열로 정렬된 CSV 데이터를 보려면 다음 명령을 통해 현재 페이지를 파이프 하십시오 column -ts ,.

       | <m> 쉘 명령
              <m>은 마크업 문자를 나타냅니다. 입력의 일부를 파이프로 연결
              파일을 주어진 쉘 명령에 추가합니다. 파일의 일부
              파이프는 현재 화면의 첫 번째 줄이며
              문자는 위치를 표시합니다. ^ 또는 $로 표시할 수도 있습니다.
              파일의 시작 또는 끝을 각각 찾으십시오. 의 경우. 아니면 새로운 -
              좋습니다. 현재 화면이 파이프되었습니다.

       m 뒤에 소문자가 오면 현재 위치를 표시합니다.
              그 편지와 함께.

그래서 |.column -ts ,사용less

답변3

나는 좋은 경험을 했다tabview, 항상 대용량 파일을 잘 처리하는 것은 아닙니다. 그래도 조합은 head꽤 괜찮네요.

답변4

이것은 실제로 문제가 되지 않지만 어쨌든 lesscsv 파일을 보는 것보다 다른 것을 사용하는 것이 좋습니다. 이것은 실제로 올바른 도구가 아닙니다. 이와 같은 것을 시도해 보십시오 R. CSV 파일 보기 및 필요한 경우 처리에 대한 지원이 좋습니다. 예를 들어, csv 파일의 5개 행을 읽으려면 다음을 수행하십시오.

$ R
> read.csv("pheno.csv",nrows=5)
  faid   expid pid mid sex pheno
1 1420 NA12003   0   0   1     0
2 1420 NA12004   0   0   2     0
3 1420 NA10838   9  10   1     0
4 1420 NA12005   0   0   1     0
5 1420 NA12006   0   0   2     0

바라보다

> help(read.csv)

도움을 요청. 당신은 또한 볼 수 있습니다

> help(write.csv)

파일 쓰기 등에 사용됩니다.

편집: 길이가 934991줄인 1.1G csv 파일이 있습니다.

$ time Rscript -e 'read.csv("GenomeWideSNP_6.na29.annot.csv", skip=500000, nrows=5, header=FALSE)'

그러면 500,000개의 행을 건너뛰고 5개의 행을 읽습니다. R은 이 값을 반환하는 데 1분이 걸리며 최대 사용량이 620M(!)인 경우 건너뛴 줄을 메모리로 읽는 것처럼 보이지만 이는 의미가 없습니다.

결과: 저는 실제로 R의 팬은 아니지만 중소 규모의 데이터 세트를 처리할 때, 특히 통계 분석을 수행하려는 경우 R보다 더 나쁠 수 있습니다. 대안은 Python과 일부 csv 처리 라이브러리입니다.

관련 정보