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이것은 Debian 기반 시스템( 일부 시스템 및 기타 시스템) 에서 호출되는 구문 입니다 .perl-renamerenameprenameperl-rename

관련 정보