Linux 컴퓨터에 다음과 같은 명명법을 가진 수백만 개의 파일이 있습니다.
1559704165_a1ac6f55fef555ee.jpg
처음 10 자리 숫자는 타임 스탬프이고 뒤에 오는 숫자 _
는 특정 ID입니다. 특정 파일 이름 ID와 일치하는 모든 파일을 다른 폴더로 옮기고 싶습니다.
나는 파일이있는 디렉토리에서 이것을 시도했다.
find . -maxdepth 1 -type f | ??????????_a1ac*.jpg |xargs mv -t "/home/ubuntu/ntest"
그러나 다음을 나타내는 오류가 발생합니다.
bash 1559704165_a1ac6f55fef555ee.jpg: command not found
시도했을 때 mv ??????????_a1ac*.jpg
인수 목록에 너무 긴 오류가 발생했습니다. 적어도 15 개의 다른 파일 이름 패턴이 있습니다. 어떻게 이동합니까?
| ??????????_a1ac*.jpg
같습니다 : : bash 는 파일 이름을 여러 파일 이름으로 확장1559704165_a1ac6f55fef555ee.jpg
합니다. , 그 두 번째 파이프 단계에서 실행하려고합니다 :1559704165_a1ac6f55fef555ee.jpg next_matching_filename 3rd_matching_filename ... nth_matching_filename
. 대신 파일 이름 을 필터링 하려고 시도한 것 같습니다 (아래 답변 참조)