특정 이름을 가진 모든 파일의 내용을 새 파일에 복사하는 방법은 무엇입니까?

특정 이름을 가진 모든 파일의 내용을 새 파일에 복사하는 방법은 무엇입니까?

내가 원하는 것은 이름이 특정 요구 사항("s"로 시작하고 "1" 또는 "2"로 시작하고 "sh"로 끝나는)을 충족하는 모든 파일을 검색한 다음 모든 파일의 내용을 복사하여 해당 파일을 병합하는 것입니다. 새 파일(이름이 로 끝남 .txt)로 이동합니다.

지금까지는 다음과 같아야 한다고 생각합니다.

cat / "s[1-2]*sh" >> /home/admin/Desktop/myFile.txt

그래도 안되네요 신고하세요

cat: /: Is a directory

나는 완전히 아이디어가 없습니다. 우분투 18.04.1을 실행 중입니다.

답변1

현재 디렉터리의 파일을 연결하려면:

cat s[12]*sh > /home/admin/Desktop/myFile.txt

현재 디렉터리 및 하위 디렉터리에서 파일을 찾아 결합하려면 다음을 수행하세요.

find . -name "s[12]*sh" -exec cat '{}' > /home/admin/Desktop/myFile.txt \;

어디서나 파일을 찾고 연결하려면 다음 단계를 따르세요.

find / -name "s[12]*sh" -exec cat '{}' > /home/admin/Desktop/myFile.txt \;

관련 정보