【发布时间】:2009-12-29 13:39:34
【问题描述】:
我想做这样的事情:
svn revert --recursive mydata/*/*.txt
我希望它还原目录 mydata 中所有扩展名为 *.txt 的文件。有没有办法做到这一点?
【问题讨论】:
我想做这样的事情:
svn revert --recursive mydata/*/*.txt
我希望它还原目录 mydata 中所有扩展名为 *.txt 的文件。有没有办法做到这一点?
【问题讨论】:
在兼容 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 等等,所以也许它并不完全符合您的要求......但也许它足以让您到达那里。
【讨论】:
您使用的是 Linux 还是其他支持 find 的 Unix 变体? (哎呀,在 cygwin 中也可能没问题。)如果是这样,试试这个:
svn revert `find mydata -name '*.txt'`
如果您有 很多 个文件,您可能需要改用 xargs。
【讨论】: