tmp$ mkdir -p {a,b} tmp$ touch {a,b}/{a,b,c,d,e,f,g} tmp$ touch b/notme{1,2,3} tmp$ ls a/* a/a a/b a/c a/d a/e a/f a/g tmp$ ls b/* b/a b/b b/c b/d b/e b/f b/g b/notme1 b/notme2 b/notme3 tmp$ (cd a; for i in *; do [ -e ../a/$i ] && echo delete ../a/$i; done) delete ../a/a delete ../a/b delete ../a/c delete ../a/d delete ../a/e delete ../a/f delete ../a/g tmp$ (cd a; for i in *; do [ -e ../a/$i ] && rm -v ../a/$i; done) removed `../a/a' removed `../a/b' removed `../a/c' removed `../a/d' removed `../a/e' removed `../a/f' removed `../a/g' tmp$ ls a/* ls: a/*: No such file or directory tmp$ ls b/* b/a b/b b/c b/d b/e b/f b/g b/notme1 b/notme2 b/notme3 # as you should see, we've deleted from b what already exists in b