하나의 명령을 사용하여 이름에 "t_1"이 포함된 모든 파일을 다른 디렉터리에 복사하려면 어떻게 해야 합니까?

하나의 명령을 사용하여 이름에 "t_1"이 포함된 모든 파일을 다른 디렉터리에 복사하려면 어떻게 해야 합니까?

하나의 명령을 사용하여 이름에 "t_1"이 포함된 모든 파일을 다른 디렉토리에 어떻게 복사합니까?

답변1

사용

cp /path/to/files/*t_1* /path/to/destination

아니면 그냥

cp ./*t_1* /path/to/destination

파일이 현재 디렉터리에 있는 경우.

또는,

for f in ./*t_1*; do
    cp "$f" /path/to/destination
done

현재 디렉터리에 패턴과 일치하는 파일이 수천 개 있더라도 확실히 작동합니다.

답변2

빠른 수정은 다음과 같습니다.

find ./ -name '*t_1*' -exec mv '{}' ./ \;

이 코드는 모든 파일(파일 이름에 검색 패턴 포함)을 계층 구조에서 한 수준 위로 이동합니다.

예를 들어, 모든 't_1' 파일이 다음 위치에 저장되어 있다고 가정해 보겠습니다./홈/데스크탑/예배 규칙서. 그럼 그냥 가세요/집/터미널에서 이 명령을 실행하세요. 모든 't_1' 파일이 다음에서 이동됩니다./홈/데스크탑/에게/집/예배 규칙서.

파일 이름의 t_1 위치에 관계없이 모든 파일이 복사됩니다.

관련 정보