0 Co to jest polecenie unix, aby znaleźć pliki, które znajdują się w jednym bezpośrednio, a nie kupuj w innym katalogu? Dbam tylko o nazwy plików. Dzięki. unix Więcej niż pięć źródło Cóż, mogę powiedzieć ls dir1 dir3 dir5. Jeśli nie tego szukasz, wyjaśnij swoje pytanie. Scott Odpowiedzi: 1 Zakładam, że chcesz przeprowadzić to wyszukiwanie z katalogu wyższego poziomu. Jeśli tak, możesz użyć -pathopcji z find. Na przykład, biorąc pod uwagę poniższą strukturę katalogów +---dir1/test1.txt | |--dir2/test1.txt znaleźć pliki pasujące do „test *” w katalogu d1 find -path '*dir1*' -iname 'test*' dinesh źródło 0 Aby porównać dwa katalogi, możesz użyć tego: diff <(cd "$dir1"; find | sort) <(cd "$dir2"; find | sort) Aby to zrobić tylko w jeden sposób i utworzyć listę plików, spróbuj tego: diff <(cd "$dir1"; find | sort) <(cd "$dir2"; find | sort) \ | grep '< ./' | sed "s,< ./,$dir1/," Aby to działało poprawnie, ani $ dir1, ani $ dir2 nie powinny zawierać ukośnika końcowego. sondra.kinsey źródło
1 Zakładam, że chcesz przeprowadzić to wyszukiwanie z katalogu wyższego poziomu. Jeśli tak, możesz użyć -pathopcji z find. Na przykład, biorąc pod uwagę poniższą strukturę katalogów +---dir1/test1.txt | |--dir2/test1.txt znaleźć pliki pasujące do „test *” w katalogu d1 find -path '*dir1*' -iname 'test*' dinesh źródło
0 Aby porównać dwa katalogi, możesz użyć tego: diff <(cd "$dir1"; find | sort) <(cd "$dir2"; find | sort) Aby to zrobić tylko w jeden sposób i utworzyć listę plików, spróbuj tego: diff <(cd "$dir1"; find | sort) <(cd "$dir2"; find | sort) \ | grep '< ./' | sed "s,< ./,$dir1/," Aby to działało poprawnie, ani $ dir1, ani $ dir2 nie powinny zawierać ukośnika końcowego. sondra.kinsey źródło
ls dir1 dir3 dir5
. Jeśli nie tego szukasz, wyjaśnij swoje pytanie.Odpowiedzi:
Zakładam, że chcesz przeprowadzić to wyszukiwanie z katalogu wyższego poziomu. Jeśli tak, możesz użyć
-path
opcji zfind
.Na przykład, biorąc pod uwagę poniższą strukturę katalogów
znaleźć pliki pasujące do „test *” w katalogu d1
źródło
Aby porównać dwa katalogi, możesz użyć tego:
Aby to zrobić tylko w jeden sposób i utworzyć listę plików, spróbuj tego:
Aby to działało poprawnie, ani $ dir1, ani $ dir2 nie powinny zawierać ukośnika końcowego.
źródło