|
蓝森林 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 |
| |