하나의 명령을 사용하여 이름에 "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 위치에 상관없이 모든 파일이 복사됩니다.

관련 정보