当前位置:  技术问答>linux和unix

文件重命名问题

    来源: 互联网  发布时间:2017-04-23

    本文导语:  如何在shell实现以下功能 将一个文件夹下所有符合规则的文件按我要求的规则修改文件名 我是用ls和grep获取和筛选文件,然后用sed修改原文件名,可是怎么实现修改文件名啊,我是说怎么把前面获取到的参数传给rename或者mv,关...

如何在shell实现以下功能
将一个文件夹下所有符合规则的文件按我要求的规则修改文件名
我是用ls和grep获取和筛选文件,然后用sed修改原文件名,可是怎么实现修改文件名啊,我是说怎么把前面获取到的参数传给rename或者mv,关键是对应,比如我把123.txt修改成了abc_123.txt,我怎么在用批处理时把123.txt和abc_123.txt传给rename或者mv?

|
for i in `ls`
do 
mv $i `echo $i | sed 's/^/abc_/'`
done
类似这样做

|
#!/bin/sh

ls | grep ".txt" | while read oldname;
do
newname=`echo "$oldname" | sed -e 's/^([^.]*).txt$/abc_1.txt/'`
echo "mv $oldname $newname"
done


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。














站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,