Próbuję zbudować długą komendę z udziałem find
. Mam szereg katalogów, które chcę zignorować, i chcę sformatować ten katalog w poleceniu.Szyki Bash: dołączanie i poprzedzanie każdego elementu w tablicy
Zasadniczo chcę, aby przekształcić tę tablicę:
declare -a ignore=(archive crl cfg)
w tym:
-o -path "$dir/archive" -prune -o -path "$dir/crl" -prune -o -path "$dir/cfg" -prune
ten sposób można po prostu dodać katalogi do tablicy, a komenda find
będzie odpowiednio dostosować.
Dotychczas I zorientowali się, jak poprzedzić lub dołączyć za pomocą
${ignore[@]/#/-o -path \"\$dir/}
${ignore[@]/%/\" -prune}
Ale nie wiem, jak połączyć te i jednocześnie poprzedzić i dołączyć do każdego elementu tablicy.
Brzmi jak dobry pomysł. Myślę, że będziesz musiał mieć wiele poziomów (kopii) tablicy, aby obsługiwać każde podstawienie $ {var/x/y}. Zrobiłem podobne używając czegoś '$ (echo $ (echo $ {ig [@]} | sed/s/a/b/g; s/c/d/g; s/d/e $ /; s/^ f/g/')) '. Powodzenia! – shellter