linux给文件批量改名字
发布网友
发布时间:2022-04-20 02:07
我来回答
共3个回答
热心网友
时间:2023-07-16 06:21
#!/bin/bash
for file in `ls |grep .*_mig`
do
target=$(echo $file|awk -F_mig '{print $1}')
cp $file $target
done
执行上面这个脚本,可以把当前目录下以_mig结尾的文件复制一个(去掉_mig)。如果你不要原来的文件,把cp改为mv。
这个脚本有个问题,就是说源文件名中只能有一个_mig,比如如果有134_mig_13_mig这样的文件,那么结果是被改为134。如果你的文件中不存在这种情况,就可以忽略。
热心网友
时间:2023-07-16 06:21
这个用脚本了。新建一个 changename.sh 脚本
#!/bin/bash
for file in `ls /tmp/* | grep _mig`
do
filename=${file%_*}
mv $file $filename
done
里面ls命令后面的目录你自己改。接着执行这个脚本。
#sh changename.sh
热心网友
时间:2023-07-16 06:22
删
rename _mig '' *_mig
增
ls | xargs -t -i mv {} {}_mig