日期:2014-05-16  浏览次数:20777 次

Linux Shell Script 字符串处理
发现bash中的rename没法将文件重命名成file1,file2,file3……这样的形式,所以我想自己写一个renameAll script来实现这个功能,基本思路是:用 ls 获取当前目录的所有文件文件名,然后处理一个个文件名用mv来重命名。
但问题是:
1.用 ls 获得所有文件名后我如何将这些文件名一个个保存起来然后再一个个取出来重命名?
2.shell script如何使用数组?

我正起步,恳请各位赐教。请不要觉得问题简单而懒得回答我,要知道你的每一个回应都是对我的支持。谢谢~

------解决方案--------------------
支持楼主,鄙视那些问题解决却不给答案的发帖人,向楼主学习
------解决方案--------------------
C/C++ code
#!/bin/bash

n=1;

ls -1 | while read file
do
        mv $file file${n};
        n=$((n+1));
done

------解决方案--------------------
Perl code

#!/bin/bash
n=1
ls | while read file
do
    echo $file
    if [ -f $file ]
    then
        mv $file file${n}
        n=$((n+1))
    fi
done