특정 확장자를 가진 모든 파일을 작업 find
한 다음 특정 폴더에 복사하지만 이름이 동일하기 때문에 대부분 덮어쓰게 됩니다. Linux 명령을 사용하여 파일 경로를 가져와 이름 파일에서 바꾸려면 어떻게 해야 합니까?
지금은 다음 명령을 사용하고 있습니다.
find . -name "*.css" | xargs cp -t /folder/AllCssFiles/
따라서 다음과 같이 특정 경로에 두 개의 파일이 있는 경우:
/something/abc/file.css
/anyting/xyz/file.css
명령을 사용하면 AllCssFiles 폴더에 다음과 같은 내용이 표시됩니다.
/something/abc/file.css (name of the file)
/anyting/xyz/file.css
답변1
1-execdir
명령을 사용할 수 있습니다 .rename
find ./ -type f -name "*.css" -execdir rename -v "s/search/replace/" {} \;
확실하지 않은 경우 다음 rename
과 같이 사용할 수 있습니다.-n
-n, -nono
No action: print names of files to be renamed, but don't rename.
1 이것은 데비안 기반 시스템, 일부 및 기타 시스템에서 호출되는 구문입니다 .perl-rename
rename
prename
perl-rename