免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2273 | 回复: 8
打印 上一主题 下一主题

文件更名去除文件名的前面部分 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-04 05:19 |只看该作者 |倒序浏览
请教一下,我有一些这样的文件

Prudentius 001r.jpg
Prudentius 001v.jpg
Prudentius 002r.jpg
Prudentius 002v.jpg
Prudentius 003r.jpg
Prudentius 003v.jpg

想把它们更名为
001r.jpg
001v.jpg
002r.jpg
002v.jpg
003r.jpg
003v.jpg

只知道一点皮毛,${}可以匹配变量的一部分,但不知道如何匹配文件命中空格之后的部分。
各位指点一下吧,多谢!

[ 本帖最后由 jiadingjun 于 2007-5-4 05:22 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-05-04 05:48 |只看该作者
  1. ls Prudentius*  |awk '{print $2}' | xargs -i  mv "Prudentius {}" {}
复制代码

论坛徽章:
0
3 [报告]
发表于 2007-05-04 06:44 |只看该作者
虽然不是${}的用法,还是管用,多谢!

论坛徽章:
0
4 [报告]
发表于 2007-05-04 20:22 |只看该作者

  1. a="Prudentius 001.jpg"
  2. echo ${a##* }
复制代码

论坛徽章:
0
5 [报告]
发表于 2007-05-05 00:57 |只看该作者
echo "Prudentius 001r.jpg"| sed 's/.*\ \(.*\)/\1/'

sed也可以达到效果的

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2007-05-05 01:06 |只看该作者
ls *.jpg|awk '{print "mv \042"$0"\042",$2}'|sh

论坛徽章:
0
7 [报告]
发表于 2007-05-05 03:26 |只看该作者
多谢各位的各种方法。
寂寞烈火 法王的表达式中的awk所涉及的

'{print "mv \042"$0"\042",$2}'

不太理解,能不能简单解释一下?
多谢!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
8 [报告]
发表于 2007-05-05 09:21 |只看该作者
\042就是双引号的8进制代码, 因为你的文件名含有空格, 所以mv的时候必须用引号括起来

论坛徽章:
0
9 [报告]
发表于 2007-05-05 21:22 |只看该作者
果然是法王啊,利害
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP