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