sam*_*sam 5 ksh filenames rename
我在 UNIX 目录中有文件,它们有一个唯一的编号开头,我必须从文件名中删除唯一的 id 后跟“-”,并且需要有常规文件。
示例:32456113-report.pdf
数据库中的必填文件名:report.pdf
我有各种扩展名的文件名 .pdf, .doc, .xls, .txt 但在前面有相同的数字。
我正在使用 winscp 来测试或查看数据,并且我正在通过将它注册为 oracle 应用程序中的主机并发程序来运行 shell 脚本。
小智 5
不完全确定我理解你想要做什么,但我相信一个简单的 bash 脚本如下
for f in * ; do mv "$f" "$(echo "$f" | cut -d- -f2)"; done
Run Code Online (Sandbox Code Playgroud)
如果你不喜欢 echo 废话,我可以在 bash 中为你查找字符串规则。
小智 2
您可以使用perl-rename。
perl-rename 's/[0-9]*-//' <files>
Run Code Online (Sandbox Code Playgroud)
根据您的操作系统/发行版,该实用程序可能称为rename. 为了安全起见,在实际重命名任何文件之前,请使用-n标志perl-rename进行试运行。