“wc -l”을 사용하여 파일 이름없이 줄 수만 인쇄하는 방법은 무엇입니까?
wc -l file.txt
줄 수와 파일 이름을 출력합니다.
파일 자체가 아닌 숫자 자체 만 있으면됩니다.
나는 이것을 할 수있다
wc -l file.txt | awk '{print $1}'
그러나 더 좋은 방법이 있습니까?
이 방법으로 시도하십시오 :
wc -l < file.txt
cat file.txt | wc -l
매뉴얼 페이지 에 따르면 (BSD 버전의 경우 확인할 GNU 버전이 없습니다).
파일을 지정하지 않으면 표준 입력이 사용되며 파일 이름이 표시되지 않습니다. 대부분의 환경에서 EOF 또는 [^ D]를 수신 할 때까지 프롬프트가 입력을 수락합니다.
선행 공간 없이이 작업을 수행하려면 왜 안됩니까?
wc -l < file.txt | bc
어때요?
wc -l file.txt | cut -d' ' -f1
즉, 출력 wc
을 cut
(구분자가 공백이고 첫 번째 필드 만 선택)에 파이프
어때요?
grep -ch "^" file.txt
기술 비교
에서 제공하는 선행 공백없이 문자 수를 얻으려고하는 비슷한 문제가 있어서이 wc
페이지로 연결되었습니다. 여기에 대한 답변을 시도한 후 다음은 Mac (BSD Bash)에서 개인 테스트 한 결과입니다. 다시 말하지만 이것은 문자 수입니다. 줄 수를 위해 당신은 할 것 wc -l
입니다. echo -n
후행 줄 바꿈을 생략합니다.
FOO="bar"
echo -n "$FOO" | wc -c # " 3" (x)
echo -n "$FOO" | wc -c | bc # "3" (√)
echo -n "$FOO" | wc -c | tr -d ' ' # "3" (√)
echo -n "$FOO" | wc -c | awk '{print $1}' # "3" (√)
echo -n "$FOO" | wc -c | cut -d ' ' -f1 # "" for -f < 8 (x)
echo -n "$FOO" | wc -c | cut -d ' ' -f8 # "3" (√)
echo -n "$FOO" | wc -c | perl -pe 's/^\s+//' # "3" (√)
echo -n "$FOO" | wc -c | grep -ch '^' # "1" (x)
echo $( printf '%s' "$FOO" | wc -c ) # "3" (√)
cut -f*
주어진 출력이 가질 수있는 정확한 선행 공간 수를 알아야하므로 일반적으로 방법에 의존하지 않습니다 . 그리고 grep
하나는 문자를 세지 않고 줄을 세는 데 효과적입니다.
bc
가장 간결하고, awk
그리고 perl
약간의 과잉을 보이지만, 그들은 모두 상대적으로 빠르고 휴대 충분합니다.
또한 이들 중 일부는 일반 문자열에서 ( echo `echo $FOO`
다른 깔끔한 트릭 과 함께) 주변 공백을 자르도록 조정할 수 있습니다 .
분명히, 이것에 대한 많은 해결책이 있습니다. 여기 또 다른 것이 있습니다.
wc -l somefile | tr -d "[:alpha:][:blank:][:punct:]"
이것은 단지 라인의 수를 출력하지만, 후행 개행 문자 ( \n
) 당신이 그 중 하나를 원하지 않는 경우, 교체, 존재 [:blank:]
와 함께 [:space:]
.
가장 좋은 방법은 먼저 디렉토리의 모든 파일을 찾은 다음 AWK NR (레코드 수 변수)을 사용하는 것입니다
아래는 명령입니다.
find <directory path> -type f | awk 'END{print NR}'
예 : - find /tmp/ -type f | awk 'END{print NR}'
나를 위해이 작품은 정상를 사용 wc -l
하고 sed
숫자가 아닌 무엇인지 어떤 문자를 제거 할 수 있습니다.
wc -l big_file.log | sed -E "s/([a-z\-\_\.]|[[:space:]]*)//g"
# 9249133
'Programming' 카테고리의 다른 글
overflow : hidden이 iPhone Safari에서 작동하도록 적용됩니까? (0) | 2020.07.15 |
---|---|
하나의 MongoDB 문서의 _id를 어떻게 업데이트합니까? (0) | 2020.07.15 |
UI 라우터를 사용하여 객체를 상태로 전달하는 방법은 무엇입니까? (0) | 2020.07.15 |
npm : 패키지 설치 후 스크립트 비활성화 (0) | 2020.07.15 |
JavaScript를 사용하여 브라우저에서 Word 문서 (.doc, .docx)를 어떻게 렌더링합니까? (0) | 2020.07.15 |