Đệ quy tìm thư mục và mỗi lần thử tìm kiếm thông tin SVN. Nếu thành công, sau đó không đi sâu vào thư mục và in tên thư mục.
find -type d -exec bash -c "svn info {} > /dev/null 2> /dev/null" \; -prune -print
Điều này sẽ liệt kê các thư mục.
Nếu bạn muốn thông tin kho lưu trữ, bạn có thể thêm nó vào giữa lệnh lệnh find exec.
find -type d -exec bash -c "svn info {} 2> /dev/null | grep URL" \; -prune -print
Edit:
tôi thấy kết quả tốt hơn nhiều bởi chỉ thử nghiệm cho sự hiện diện của một thư mục con .svn
. Sau đó, svn info
được gọi một lần ở cuối và được grepped cho Đường dẫn và URL. (Cộng với việc sử dụng -0 để ngăn không gian trong tên tệp.)
find -type d -exec test -d "{}/.svn" \; -prune -print0 | xargs -0 svn info | grep -e '\(Path\|URL\)'
Nguồn
2011-11-08 14:03:47
Làm cách nào để bạn đọc URL? Tôi không thể định vị 'svn info | grep URL' trong tập lệnh của bạn? – Pentium10
Thao tác này sẽ in các thư mục. Nếu bạn muốn URL, sau đó gọi 'svn info' trên mỗi người trong số họ. –
Tôi muốn thư mục và URL cùng nhau. Nhưng url là quan trọng nhất. – Pentium10