我想编写一个循环访问目录并更改文件名以包含001_DTS(其中DTS是日期时间戳),002_DTS,003_DTS, etc如何循环访问目录并调整文件名
并删除aa,ab等,因为我想用这个分割函数(从该函数创建的文件)。
我想编写一个循环访问目录并更改文件名以包含001_DTS(其中DTS是日期时间戳),002_DTS,003_DTS, etc如何循环访问目录并调整文件名
并删除aa,ab等,因为我想用这个分割函数(从该函数创建的文件)。
prefix="x" # the default 'split' prefix, change to suit yourself
count=1
dts=$(date +%Y%m%d%H%M%S)
for f in "$prefix"[a-z][a-z]; do
mv "$f" "$(printf "%s%03d_%s" "$prefix" $count $dts)"
((count++))
done
第一,运行bash的:-),然后解决它:
bash # :-)
J=1
for I in * ; do
mv -i $I `printf '%03d' $J`_DTS
J=$((J+1))
done
ksh爱好者不会downvote我的回答:) – TMS
这个怎么样,而不是特定的壳(KSH/bash)的
cd /path/to/dir
for file in *
do
mv $file ${file}_$(date +%Y%m%d%H%M%S) && echo "file moved" || echo "unable to move"
done
如果你想在循环之前修改DTS的值只需像其他帖子一样分配变量。
非常感谢!我认为'x'前缀是我认为文件名前缀是什么的?再次感谢 – Justin