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