동일한 이름을 가진 여러 파일이 포함된 디렉터리가 있습니다.
../directory ls
File.txt
File.txt
File1.txt
mv를 사용하여 모든 파일을 새 디렉터리(/new)로 이동하는 방법
../new ls
File.txt
File.txt
File1.txt
업데이트: 파일은 FTP를 통해 소스 시스템에서 UNIX 디렉터리로 전송되고 있으며 쉘 스크립트를 사용하여 처리해야 합니다. 완료되면 동일한 파일(있는 경우)의 여러 인스턴스를 아카이브 디렉터리로 이동해야 합니다.
"프로세스"를 사용하면 내가 하는 일은 그것을 디렉터리에 복사하는 것뿐입니다. 그리고 MV를 사용하는 다른 아카이브에도 있습니다. 파일의 인스턴스 하나만 처리하려면 cp n mv를 사용하세요.
답변1
동일한 이름을 가진 여러 파일이 포함된 디렉터리가 있습니다.
글쎄, 그러면 안됩니다. 어떻게 cat
콘텐츠를 만들 수 있나요 ? (즉, 매번 동일한 이름의 첫 번째 파일만 가져옵니다.)
mv ../new ls File.txt File.txt File1.txt를 사용하여 모든 파일을 새 디렉터리(/new)로 이동하는 방법
나는 그들에게 다른 이름을 주기로 결정했습니다.
mv File.txt ../new/File.txt.1
mv File.txt ../new/File.txt.2
이런 식으로 다른 파일을 얻는지 확인하세요.
업데이트: 파일은 FTP를 통해 소스 시스템에서 UNIX 디렉터리로 전송되고 있으며 쉘 스크립트를 사용하여 처리해야 합니다.
동일한 디렉터리에 동일한 이름을 가진 여러 파일이 있는 상황이 발생할 가능성은 거의 없습니다. 그러니 이번 사건은 걱정하지 않아도 될 것 같아요.
답변2
와일드카드를 사용하여 이동할 수 있습니까?
mv file.tx* /new/
file.tx
이름이 로 시작하는 모든 파일이 이동됩니다 /new
. 일치하지 않는 파일은 그대로 유지되므로 file1.txt
디렉터리에 남아 있게 됩니다. file.txt 및 file1.txt라는 이름의 파일을 이동하려면 file 뒤에 와일드카드 문자 *를 이동할 수 있습니다. 예를 들어 file*
이렇게 하면 해당 디렉터리에서 이름이 file로 시작하는 모든 파일이 이동됩니다.