폴더의 모든 파일을 처리하고 그 결과를 단일 파일로 출력하는 명령

폴더의 모든 파일을 처리하고 그 결과를 단일 파일로 출력하는 명령

레시피 폴더에 정확히 10개의 파일 목록이 있습니다. 모든 파일에 각 단어가 몇 번 나타나는지 확인한 다음 해당 빈도에 따라 정렬해야 합니다. 내 명령이 한 번에 하나의 파일을 처리하도록 할 수 있지만 한 번에 각 파일을 처리한 다음 파일로 출력하려면 이 명령이 필요합니다. 예: 단어소금총 25회 발생하면 출력은 25개의 소금입니다. 지금까지 나는 이것을 가지고 있습니다 :

sed -d 's/\s/\n/g' < lyrics01.txt | sort | uniq -c | sort -nr >> lyrics01wordcount.tf

디렉터리의 모든 파일에 적용하려면 이를 변경해야 합니다. 위 파일에 적용되는 이유를 이해합니다. 어떤 도움이라도 대단히 감사하겠습니다.

답변1

sed -d 's/\s/\n/g' * | sort | uniq -c | sort -nr >> lyrics01wordcount.tf

단순한.

답변2

두가지:

  1. 리디렉션을 사용할 필요가 없습니다 sed. 모든 파일 이름을 입력 데이터로 처리합니다. 그래서 sed ... lyrics01.txt효과는 그만큼 좋습니다 sed ... < lyrics01.txt(사실 더 좋거든요...)
  2. 리디렉션 없이 여러 파일을 sed: sed ... file1 file2 ...또는 경우에 따라 sed ... *.txt.

관련 정보