]> git.donarmstrong.com Git - bin.git/commitdiff
update lists
authorDon Armstrong <don@donarmstrong.com>
Wed, 30 Jan 2008 02:56:28 +0000 (02:56 +0000)
committerDon Armstrong <don@donarmstrong.com>
Wed, 30 Jan 2008 02:56:28 +0000 (02:56 +0000)
update_lists [new file with mode: 0755]

diff --git a/update_lists b/update_lists
new file mode 100755 (executable)
index 0000000..d23aa24
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+cd ~/Maildir
+# Build lists sublists
+find lists -maxdepth 1 -mindepth 1 -type d |perl -ne 'chomp; $a = $_; $b = $a; $b =~ s/\//./g; qx(ln -sf $a .$b)'
+# Build bugs sublists
+find bugs  -maxdepth 1 -mindepth 1 -type d |perl -ne 'chomp; $a = $_; $b = $a; $b =~ s/\//./g; qx(ln -sf $a .$b)'
+
+# Remove dead lists
+#find ~/Maildir/lists/ -type d -maxdepth 1 -mindepth 1|xargs -n 1 -i sh -c '(( $(find "{}" -type f -iname "*" |wc -l) <= 1 )) && rm -rf "{}"'
+
+find ~/Maildir/lists/ -maxdepth 1 -mindepth 1 -type d|xargs -n 1 -i sh -c 'A={}; (( $(find $A -type f -name "*" -not -name "dovecot*" | wc -l) == 0 )) && rm -rf $A'
+find ~/Maildir/bugs/ -maxdepth 1 -mindepth 1 -type d|xargs -n 1 -i sh -c 'A={}; (( $(find $A -type f -name "*" -not -name "dovecot*" |wc -l) == 0 )) && rm -rf $A'
+
+# Remove broken symlinks
+find . -maxdepth 1 -mindepth 1 -type l -iname '.*' -not -xtype d -print0 |xargs -0 rm -f
\ No newline at end of file