蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 http://www.lslnet.com 2006年6月26日 11:18


请教:关于下面一个批量修改文件名的脚本如何写?

在一个目录下有大量文件,现在想把文件名按如下规则改变:
新文件名以老文件名的头两个字符和后四个字符构成。
例如:01XXXXXX.doc----->01.doc

请问:这个脚本该如何实现呢?

请教:关于下面一个批量修改文件名的脚本如何写?

#!/bin/bash
echo "begin..."
for file1 in `ls`
do
len1=${#file1}
len2=`expr $len1 - 4`
if [ -f $file1 -a $len1 -gt 6 ]
then
fname=${file1:0:2}
lname=${file1:$len2:4}
file2=$fname$lname
echo " moving $file1 to $file2..."
mv $file1 $file2
fi
done
echo " done"

请教:关于下面一个批量修改文件名的脚本如何写?

#!/bin/sh
ls |grep doc|awk '{print "mv "$0,substr($0,1,2)".doc"}' > tmp17
sh tmp17

请教:关于下面一个批量修改文件名的脚本如何写?

[code]for file in *;do
        mv $file $(echo $file|sed 's/\(^..\).*\(....$\)/\1\2/')
done
[/code]

请教:关于下面一个批量修改文件名的脚本如何写?

#!/bin/sh
for files in `ls -1`
do
        if [ -d $files ]; then
                continue
        elif [ -f $files ]; then
                new_name=`echo "$files" | awk -F. '{print substr($1,1,2)}'`
                name_tmp=`echo "$files" | awk -F. '{print $2}'`
                new_name=$new_name.$name_tmp
                               echo "new_name : $new_name"
                cp $files ./$new_name
        fi       
done



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com