SHELL脚本修改文件名移动到指定文件夹

Ralphzhangy 2009-06-01 06:09:55
现在我TEST文件夹下有
ralph-config.xml.bb
ralph-log.cfg.bb
ralph-info.xml.bb
bessie-config.xml.bb
bessie-log.cfg.bb
bessie-info.xml.bb
现在想写一个SHELL脚本把ralph-config.xml.bb、ralph-log.cfg.bb、ralph-info.xml.bb移动到home/test/ralph文件夹下,并且把前缀ralph-去掉。
bessie-config.xml.bb、bessie-log.cfg.bb、bessie-info.xml.bb移动到
home/test/bessie文件夹下,并且把前缀bessie-去掉。
哪位高手能帮帮解决下,谢谢了
...全文
437 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
linaxing 2009-06-15
  • 打赏
  • 举报
回复
可以这样:

FILELIST="ralph-config.xml.bb ralph-log.cfg.bb ralph-info.xml.bb"
for FILE in $FILELIST
do
mv /TEST/$FILE /home/test/ralph/${FILE#ralph-} #如果这里不明白可以man bash看一下Parameter Exansion部分
done

FILELIST="bessie-config.xml.bb bessie-log.cfg.bb bessie-info.xml.bb"
for FILE in $FILELIST
do
mv /TEST/$FILE /home/test/bessie/${FILE#bessie-}
done
puheavy123 2009-06-15
  • 打赏
  • 举报
回复
应该是这样吧。。。
rename /home/test/ralph/ralph- '' /home/test/ralph/ralph-*
xiaoxin_ye 2009-06-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyu637 的回复:]
mv ralph* /home/test/ralph

mv bessie* /home/test/bessie

rename /home/test/ralph/ralph-* /home/test/ralph/*
rename /home/test/bessie/bessie-i /home/test/bessie/*
[/Quote]

正解
补充一点,如果不是root用户,遇到没有相关权限进行写操作,在mv之前加上sudo即可
lz好运 加油
德生coding 2009-06-02
  • 打赏
  • 举报
回复
对,用mv就可以做到!
once_and_again 2009-06-02
  • 打赏
  • 举报
回复
rename 才可以.
wuyu637 2009-06-01
  • 打赏
  • 举报
回复
mv ralph* /home/test/ralph

mv bessie* /home/test/bessie

rename /home/test/ralph/ralph-* /home/test/ralph/*
rename /home/test/bessie/bessie-i /home/test/bessie/*

23,218

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧