findlinksto.py revision 41ffccbba75413c64efad283da19b8038aa07dd1
1#! /usr/local/bin/python 2 3# findlinksto 4# 5# find symbolic links to a given path 6 7import os, sys 8 9def visit(pattern, dirname, names): 10 if os.path.islink(dirname): 11 names[:] = [] 12 return 13 if os.path.ismount(dirname): 14 print 'descend into', dirname 15 n = len(pattern) 16 for name in names: 17 name = os.path.join(dirname, name) 18 try: 19 linkto = os.readlink(name) 20 if linkto[:n] == pattern: 21 print name, '->', linkto 22 except os.error: 23 pass 24 25def main(pattern, args): 26 for dirname in args: 27 os.path.walk(dirname, visit, pattern) 28 29main(sys.argv[1], sys.argv[2:]) 30