我有一个文件列表:File_2011_1.txt
, File_2011_2.txt
, File_2011_3.txt
... File_2011_100.txt
; 我想将所有文件名中的 2011 更新为 2012。
以下不起作用:
for FILES in `ls`; do NEWNAME=`echo ${FILES} | sed -e 's/*2011*/*2012*/'`; echo ${FILES} ${NEWNAME}; done;
但这确实:
for FILES in `ls`; do NEWNAME=`echo ${FILES} | sed -e 's/File_2011*/File_2012*/'`; echo ${FILES} ${NEWNAME}; done;
那么,为什么在我要更改的文件名部分之前的通配符不起作用?