Chinaunix

标题: 如何批量修改文件名? [打印本页]

作者: jzlai    时间: 2004-08-25 10:30
标题: 如何批量修改文件名?
我想要把一个目录下的文件名修改一下,把文件名中的横杠“-”全部改成下划线“_”,该如何写shell脚本?
作者: 網中人    时间: 2004-08-25 10:43
标题: 如何批量修改文件名?
完整的代碼我就不寫了, 給你一些提示你自己試試看:
1) *-* 就能擴展出所有帶 - 的路逕
2) 丟進 for loop 裡逐個處理
3) tr - _ 就可將 - 換成 _
4) 用 mv 就可改名

若你用 linux 且想用一個命令搞定, 請 man rename .
作者: begincwcw    时间: 2004-08-25 12:32
标题: 如何批量修改文件名?
ls|nawk '{if($0~/\-/){printf("mv  %s  ", $0); gsub(/-/,"_"; print}}'
作者: fush76    时间: 2004-08-25 14:01
标题: 如何批量修改文件名?
1)建立循环,通过basename实现:
for f in *.sql;

do
  base=`basename $f`
  echo $f "------------>"$base.bakkk
  #mv $f $base.bakkk
done


2)若系统没有basename命令,可以通过sed实现:
ls -d *.sql|sed -e 's/.* /mv & &/'-e 's/sql $ /sqlp/'|sh



  1. 请将以上.sql扩宽名,换成你所需的。
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2