我想做这样的事情:
svn revert --recursive mydata/*/*.txt
我希望它还原目录mydata中扩展名为* .txt的所有文件。有没有办法做到这一点?
答案 0 :(得分:8)
在POSIX兼容的操作系统(Linux / Mac / Cygwin)上:
find mydata -mindepth 2 -name \*.txt | xargs svn revert
On Windows(在批处理文件中使用%% G,在命令行中使用%G):
FOR /R mydata %G IN (*.txt) DO svn revert "%G"
严格来说,Windows命令会影响mydata/*.txt
,mydata/*/*.txt
,mydata/*/*/*.txt
等等,所以也许它并不是你想要的......但也许它是足以让你到那里。
答案 1 :(得分:0)
您使用的是Linux还是支持find
的其他Unix变体? (哎呀,在cygwin中它可能也没问题。)如果是这样的话,试试这个:
svn revert `find mydata -name '*.txt'`
如果您有批次文件,则可能需要使用xargs
。