我的文件如下:
~ls
N1JRN_S001.csv N1JRN_S002.csv N1JRN_S003.csv N1MNY_S001.csv N1POS_S001.csv
我想用当前日期重命名所有类型的文件,如
03nov14N1JRN_S001.csv
03nov14N1JRN_S002.csv
03nov14N1JRN_S003.csv
03nov14N1MNY_S001.csv
03nov14N1POS_S001.csv
在循环中如何为每种类型的文件做?
答案 0 :(得分:0)
这将根据今天的日期重命名当前目录中的所有csv
个文件:
today=$(date '+%d%b%y')
for f in *.csv
do
mv "$f" "$today$f"
done
工作原理:
today=$(date '+%d%b%y')
这将运行格式为date
的{{1}}命令。这会以+%d%b%y
。
02Nov14
这会对名称以for f in *.csv; do
.csv
这会将文件mv "$f" "$today$f"
重命名为所需的格式。
f
这标志着done
循环结束。
让我们从包含这些文件的目录开始:
for
让我们运行我们的脚本:
$ ls
N1JRN_S001.csv N1JRN_S002.csv N1JRN_S003.csv N1MNY_S001.csv N1POS_S001.csv script.sh
现在已重命名文件:
$ bash script.sh