我在这个shell脚本中仍然是新的。我有一项给予我的任务,我很难执行它。 任务是我有很多基于ddmmyy的目录。c shell脚本:找到目录并重命名find的输出
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编程有时被认为是有害的。](http://www.bmsc.washington.edu/people/merritt/text/cshbad.txt) – ghoti