【发布时间】:2016-01-19 22:25:15
【问题描述】:
我还是这个 shell 脚本的新手。我有一个任务交给我,我很难执行它。 任务是我有很多基于 ddmmyy 的目录。
03Mar2014 08Aug2013 11Jan2015 16Jan2014 22Feb2014 26Mar2014
03Nov2013 08Jan2014 11Jul2013 16Jul2013 22Jul2013 26Oct2014
03Oct2013 08Jan2015 11Nov2014 16May2014 22Mar2014 26Sep2013
任务是将目录制作成mmyy。
到目前为止,我的代码是
foreach file(`find . -type d | awk -F/ 'NF == 3'`)
echo $file
set newmove = `echo $file | cut -c 1-2,5-`
echo $newmove
mv $file $newmove
output:
for find . -type d | awk -F/ 'NF == 3':
./24Jan2015/W51A
`echo $file | cut -c 1-2,5-`
./Jan2015/W51A
mv $file $newmove
mv: cannot rename ./24Jan2015/W51A to ./Jan2015/W51A: No such file or directory
但脚本不起作用。 你们知道如何做到这一点吗?
【问题讨论】:
-
必须为此您使用 c-shell,或者您可以交替使用 POSIX shell 或 Bash?另外,当您想创建目录“mmyy”时,您真的是指“mmmYYYY”,就像您显示的输入列表一样? CSH programming is sometimes considered harmful.