디렉토리에 있는 파일의 결합된 단어 수

디렉토리에 있는 파일의 결합된 단어 수

wc디렉터리 범위에 있는 특정 파일(예: .txt 파일)에 대해서만 결합된 단어 수를 반환할 수 있습니까?

답변1

GNU wc를 사용하면 (적어도) 다음과 같이 find결과를 결합 할 수 있습니다 wc .

find folder/ -name '*.txt' -print0 |   wc -w --files0-from=-

이는 모든 기능을 제공하며 find(정직으로 끝나는 모든 파일을 찾으려는 경우 약간 과잉입니다 .txt) 가장 이상한 파일 이름(예: 개행 포함)도 처리할 수 있습니다.

답변2

제가 귀하의 상황을 정확하게 이해하고 있습니까? 따라서 Documents라는 폴더에 있고 해당 폴더 안에 여러 폴더가 있다고 가정하고 해당 디렉터리로 디렉터리(cd)를 변경하고 해당 디렉터리에 있는 각 폴더에 몇 개의 폴더가 있는지 계산하려고 합니다. 하위 폴더?

이것이 의미하는 바라면 다음과 같이 할 수 있습니다.

$ ls -R *.txt | wc -l

ls = 목록. -R = 각 하위 폴더 반복 *.txt = .txt로 끝나는 문자 수

| = 에 전달되었습니다.

wc -l = 얼마나 많은지 세어보세요.

답변3

다음은 방금 xargs를 통해 만든 멋진 한 줄 내용입니다. macOS에서 테스트했습니다.

find . | grep -E "(.*\.js.*|.*\.txt|.*\.css|.*\.htm.*|.*\.sh|.*\.scss|.*\.md|.*\.java|.*\.conf|.*\.yaml)" | sed "s/^/\"/" | sed "s/$/\"/" | xargs -J thefile wc thefile

파일 이름의 공백을 처리합니다. Linux에서 -J를 -Y로 바꿀 수 있을까요? 잔디 깎이 기계가 Linux 상자에 대한 이더넷 연결을 끊어서 지금은 테스트할 수 없습니다.

관련 정보