【发布时间】:2011-09-02 08:22:51
【问题描述】:
我有 shell 脚本知识。 我写了一个小的 shell 脚本,它只接受一个参数。 在那个论点的帮助下。
文件名格式为axeA10_<date_time_stamp>_<sequence_number>.DAT
我的脚本只获取当前目录中的所有文件并更改序列号。
这样我就有了带有序列号的文件。
编写此脚本的需要是我没有带有序列号的文件,因为某些序列丢失了。
我知道perl 可以更快地完成此类任务。所以我想学习同样的方法。
任何人都可以将这个小shell脚本转换为perl。这真的会增强我学习perl的信心。在此先感谢。下面是运行良好的脚本。
#!/bin/ksh
counter=1
for i in ${1}*.DAT
do
if [ $counter -lt 10 ]
then
new_name=`echo "$i"|awk -vcount=$counter 'BEGIN{FS="_";OFS="_"}{$3=count}{print $1"_"$2"_0"$3".DAT"}'`
else
new_name=`echo "$i"|awk -vcount=$counter 'BEGIN{FS="_";OFS="_"}{$3=count}{print $0".DAT"}'`
fi
mv $i $new_name
counter=$(($counter+1))
done
exit
【问题讨论】:
-
请尝试自己编写 Perl 脚本,并在遇到困难时提出具体问题。