4

我想做这样的事情:

svn revert --recursive mydata/*/*.txt

我希望它恢复目录 mydata 中所有扩展名为 *.txt 的文件。有没有办法做到这一点?

4

2 回答 2

9

在与 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, 等等,所以也许它不是你要找的……但也许它足以让你到达那里。

于 2009-12-29T13:44:21.603 回答
1

您使用的是 Linux 还是其他支持 Unix 的 Unix 变体find?(哎呀,在cygwin中也可能没问题。)如果是这样,试试这个:

svn revert `find mydata -name '*.txt'`

如果你有很多文件,你可能需要使用它xargs

于 2009-12-29T13:43:50.960 回答