我想用linux的命令批量修改文件夹及子文件夹里包含某个字符的文件名称 大家好,我想把文件夹以及子文件夹里所有.jpg后面有?sign的图片修改文件名称,类似于20180405095522_44158.jpg?sign=924ca3be4ffca6c5fbad798e7e643ab4&t=5ac588d3这样的文件名称修改成20180405095522_44158.jpg。如果没有带?sign的图片不用管,请问用linux命令代码是怎么写,由于刚接触linux,百度也没找方法。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以通过管道连接shell和perlfor file in `ls|grep -P "jpg\?sign"`;do echo $file|perl -we 'while (<STDIN>){chomp;rename "$_","$1" if /^(.+)jpg\?sign/;}';done 用python应该不难完成 for i in `find /home/user -name *jpg\?s*` ; do b=${i%%\?*} && mv $i $b;done用find 解决子目录问题并指定绝对路径,通过字符串截取去掉?号后面的字符,做一个mv操作 即修改文件名。 find 好像找带符号的文件不好使,条件可以换成 `find /home/user -name "*jpg*sign*"` #!/bin/bashfor file in `find /root/chongmingming/ -type f -name '*?sign*'` do newfile=`echo $file|cut -f 1 -d "?"` mv $file $newfiledone学习中,测试了一下这个,是好使的。 求助!aix如何建立只读的ftp用户,只能对某个路径的文件读。其它任何路径和文件禁止任何权限 vmware 装ubuntu进入无反应 突然挂载的硬盘变成只读。求助!无解。 求大神指点,Python安装BeautifulSoup后输入from bs4 import BeautifulSoup s3c6410的i2c驱动 关于bundle包的卸载 求助 请教一下各位!Linux中yum命令不可用怎么解决啊 安装epel仓库时一直报错 vsfpd的问题 Python tensorflow tf.layers.batch_normalization linux是什么?
用find 解决子目录问题并指定绝对路径,通过字符串截取去掉?号后面的字符,做一个mv操作 即修改文件名。
find 好像找带符号的文件不好使,条件可以换成 `find /home/user -name "*jpg*sign*"`
for file in `find /root/chongmingming/ -type f -name '*?sign*'`
do
newfile=`echo $file|cut -f 1 -d "?"`
mv $file $newfile
done
学习中,测试了一下这个,是好使的。