일반적인 UNIX 명령을 사용하여 쉘 스크립트를 작성 중입니다. 가장 적은 문자 (공백 포함)가있는 줄을 검색해야합니다. 최대 약 20 줄이있을 수 있습니다. head -$L | tail -1 | wc -m줄 L의 문자 수를 찾는 데 사용할 수 있다는 것을 알고 있습니다 . 문제는 내가 사용할 수있는 유일한 방법은 값을 비교하여 if …
왜 wc 유틸리티가 그렇게 느려 집니까? 큰 파일에서 실행할 때 md5sum보다 약 20 배 더 오래 걸립니다. MyDesktop:/tmp$ dd if=/dev/zero bs=1024k count=1024 of=/tmp/bigfile 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 0.687094 s, 1.6 GB/s MyDesktop:/tmp$ time wc /tmp/bigfile 0 0 1073741824 /tmp/bigfile real 0m45.969s user 0m45.424s …
내 역사에서 특정 파일의 행 수를 제공하기 위해 자식 별칭을 추가했습니다. [alias] lines = !lc() { git ls-files -z ${1} | xargs -0 wc -l; }; lc 그러나 wc -l여러 총계를보고하므로 ~ 100k 줄 이상인 경우 총계를보고 한 다음 계속 진행합니다. 예를 들면 다음과 같습니다. <100k 라인 (원하는 출력) $ …
C 프로그래머로서, 나는 wc -c바이트 수 wc -m를 세고 문자 수를 세는 것이 긴 텍스트 파일에 대해 매우 다른 결과를 출력 한다는 사실에 놀랐습니다 . 나는 항상 sizeof(char)1 바이트 라고 들었습니다 . qdii@nomada ~/Documents $ wc -c sentences.csv 102990983 sentences.csv qdii@nomada ~/Documents $ wc -m sentences.csv 89023123 sentences.csv 어떤 설명?
분명히, 나는 wcbash에서 입력을 얻는 방법에 따라 다르게 계산됩니다. $ s='hello' $ wc -m <<<"$s" 6 $ wc -c <<<"$s" 6 $ printf '%s' "$s" | wc -m 5 $ printf '%s' "$s" | wc -c 5 이 IMHO 혼란스러운 행동이 어딘가에 기록되어 있습니까? wc여기에서 무엇을 계산합니까-이것이 새로운 줄 바꿈입니까?
큰 텍스트 파일이 있습니다 (gz 's ~ 50Gb). 파일은 4*N행이나 N레코드를 포함 합니다. 즉, 모든 레코드는 4 줄로 구성됩니다. 이 파일을 입력 파일의 대략 25 % 크기 인 4 개의 작은 파일로 나누고 싶습니다. 레코드 경계에서 파일을 어떻게 분할 할 수 있습니까? 순진한 접근 방식은 zcat file | wc -l줄 …