find 명령으로 나열된 파일을 복사하고 경로로 이름을 바꿉니다.

find 명령으로 나열된 파일을 복사하고 경로로 이름을 바꿉니다.

특정 확장자를 가진 모든 파일을 작업 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-renamerenameprenameperl-rename

관련 정보