我正在制作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
您可以使用-execdir
命令rename
1。
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-rename
rename
prename
perl-rename