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