그래서 Genomes라는 폴더가 있습니다.이 폴더에는 3000 개의 폴더가 모두 있고 그 안에 하나의 파일이 있습니다. 이 모든 파일을 하나의 큰 파일로 결합하려고합니다. bash에서이 작업을 수행 할 수있는 방법이 있어야한다고 생각합니다.하지만 어떻게해야하는지 확신 할 수 없습니다.디렉토리의 모든 폴더에있는 모든 파일을 결합하십시오.
답변
(
cd Genomes
cat */* > ../Genomes-combined-data
)
이 모든 파일의 연결을 포함하는 Genomes
디렉토리와 동일한 수준에서 하나의 파일을 만듭니다.
유일한 문제는 인수 목록의 길이 일 수 있습니다.
이find Genomes -type f -exec cat {} + > Genomes-combined-data
이 이름을 결정하기 위해 find
을 사용하고 관리 조각으로 목록을 분할 : 그게 문제라면, 다음 (— 단지 Genomes
디렉토리에 —을 디렉토리에 파일이 없으면 가정). 최종 결과는 이전에 3000 개의 개별 파일에 있었던 모든 데이터를 포함하는 단일 파일을 갖게된다는 점에서 본질적으로 동일합니다. 그러나 Michał Górny은 comment을 가리 킵니다. 따라서 파일의 데이터 순서는 */*
을 사용하는 경우와 다를 수 있습니다. 필요한 경우 find ... -print0
을 sort -z
으로 파이프하여 xargs -0 cat
에 파이프하여 이름의 공백이나 줄 바꿈을 처리 할 수 있습니다. 이들 모두는 POSIX 도구에 대한 표준 확장이 아닙니다.
find Genomes -type f -print | sort | xargs cat > Genomes-combined-data
을 당신이 원하는대로 당신은 복잡한대로 정렬 기준을 만들 수 있습니다
find Genomes -type f -print0 | sort -z | xargs -0 cat > Genomes-combined-data
당신이 제정신 이름을 알고 있다면, 당신은 간단하게 사용할 수 있습니다.
물론 편리한 위치에 출력 파일을 배치 할 수 있습니다. 극단적으로 운이 좋다면 출력 파일을 find
으로 지정하여 —으로 설정하면 전체 디스크가 될 수 있습니다.
(find Genomes -type f | sort | xargs tail -n +1) > Genomes-all
그물 결과 *는 동일하지 않습니다. '*/*'는 파일을 어순으로 정렬하고,'find'는하지 않습니다. :) –
@ MichałGórny : 좋습니다, 공정한 의견입니다. –
덮어 쓰는 대신에 추가하려면'>>'을 사용하십시오. –
Genomes-all
)에 그 내용을 연결하는 한 줄의 ? 특정 순서로 연결된 것을 요구합니까? 당신의 폴더는`Genomes` 아래의 한 레벨보다 더 깊게 갈 수 있습니까? 세부 정보를 입력하십시오.
- 1. pdf로 폴더에있는 모든 파일을 결합하십시오
- 2. 디렉토리의 모든 파일을 읽으십시오
- 3. PHP는 폴더에있는 모든 파일을 실행합니다
- 4. 디렉토리의 모든 Java 파일을 컴파일하고 더 깊은 디렉토리의 파일도 포함하십시오.
- 5. 디렉토리의 모든 파일을 삭제하는 스크립트
- 6. 디렉토리의 모든 파일을 요구합니다. node12s
- 7. 디렉토리의 모든 PHP 파일을 포함하십시오.
- 8. 웹 디렉토리의 모든 파일을 삭제합니다.
- 9. 디렉토리의 모든 파일을 일괄 처리합니다.
- 10. 디렉토리의 모든 .mp3 파일을 나열하십시오.
- 11. 디렉토리의 모든 파일을 개별적으로 실행
- 12. sdcard의 특정 폴더에있는 모든 파일을 표시합니다. Android
- 13. wx로 하나의 폴더에있는 모든 파일을 수확하는 방법
- 14. Tomcat의 폴더에있는 모든 파일을 나열하려면 어떻게합니까?
- 15. 파이썬으로 폴더에있는 모든 파일을 삭제하는 방법
- 16. R 폴더에있는 모든 파일을 덮어 씁니다.
- 17. 네트워크 드라이브의 모든 폴더에있는 모든 파일
- 18. 하나의 파일에 모든 css 파일을 결합하십시오.
- 19. 폴더에있는 여러 파일의 내용을 결합하십시오.
- 20. 디렉토리의 모든 파일 받기,
- 21. UIImage로 모든 UILabels를 결합하십시오.
- 22. 디렉토리의 모든 파일로 리디렉션
- 23. 디렉토리의 모든 프로젝트 빌드
- 24. 플렉스로 폴더에있는 모든 파일 업로드하기
- 25. laravel 루트 폴더에있는 모든 페이지는
- 26. 모든 macosx 디렉토리의 모든 svn 파일 제거
- 27. 찾기를 사용하여 모든 하위 디렉토리의 모든 파일을 컴파일하려면 어떻게해야합니까?
- 28. 디렉토리의 모든 파일 압축하기
- 29. 디렉토리의 모든 폴더를 파싱합니다.
- 30. BOOST_FOREACH를 사용하여 디렉토리의 모든 파일을 반복합니다.
당신은 모든 파일을 연결하려는 의미 : 여기 – lurker
'cat */*> output'? –