Rozumiem, czym jest rozszerzenie nawiasów klamrowych , ale nie wiem, jak najlepiej go używać. Kiedy go używasz? Naucz mnie kilku wygodnych i niezwykłych przykładów, jeśli masz własną wskazówkę.
Kiedy używam następujących, otrzymuję wynik zgodnie z oczekiwaniami: $ echo {8..10} 8 9 10 Jak w łatwy sposób użyć tego rozszerzenia nawiasu klamrowego, aby uzyskać następujące wyniki? $ echo {8..10} 08 09 10 Teraz mogę to uzyskać za pomocą seq(nie próbowałem), ale nie tego szukam. Przydatne informacje mogą być takie, …
Chcę użyć $var inrozszerzenia nawiasów klamrowych z zakresem, w bash. Po prostu stawianie {$var1..$var2}nie działa, więc poszedłem „bocznie” ... Poniższe działa, ale jest trochę kludgey. # remove the split files echo rm foo.{$ext0..$extN} rm-segments > rm-segments source rm-segments Czy istnieje bardziej „normalny” sposób?
Mam około 15000 plików o nazwach file_1.pdb, file_2.pdbitp mogę kot o kilka tysięcy z nich w kolejności wykonując: cat file_{1..2000}.pdb >> file_all.pdb Jeśli jednak zrobię to dla 15 000 plików, pojawi się błąd -bash: /bin/cat: Argument list too long Widziałem, jak ten problem został rozwiązany, find . -name xx -exec …
Na przykład {a..c}{1..3}rozwija się do a1 a2 a3 b1 b2 b3 c1 c2 c3. Jeśli chciałbym wydrukować a1 b1 c1 a2 b2 c2 a3 b3 c3, czy istnieje analogiczny sposób na zrobienie tego? Jaki jest najprostszy sposób?
To: $ echo {{a..c},{1..3}} produkuje to: a b c 1 2 3 Co jest miłe, ale trudne do wyjaśnienia, biorąc pod uwagę to $ echo {a..c},{1..3} daje a,1 a,2 a,3 b,1 b,2 b,3 c,1 c,2 c,3 Czy to gdzieś jest udokumentowane? Bash referencyjny nie wspomina go (mimo że ma przykład …
Czy jest jakiś sposób na przekierowanie stdout i stderr przez zmienną, na przykład poprzez dodanie opcji poleceń w skrypcie? Na przykład mam skrypt: #!/bin/bash -x TEST=">/dev/null 2>&1" OPT='-p -v' mkdir $OPT 123/123/123 $TEST Widzę, że OPT został zastąpiony -pbez żadnych problemów i bash interpretuje to jako opcję. Ale przekierowanie interpretuje …
Jak man mkdirstwierdza -p, --parents no error if existing, make parent directories as needed Kiedy uruchomiłem to polecenie mkdir -p work/{F1,F2,F3}/{temp1,temp2} Tworzy strukturę katalogów jak ten workrodzic folderu wtedy F1, F2, F3foldery i dziecko temp1i temp2foldery dziecko poniżej trzeciego folderu nadrzędnego F1, F2, F3. work -F1 -temp1 -temp2 -F2 -temp1 …
Wyjście powyższego polecenia po przejściu przez echo to: # echo systemctl\ {restart,status}\ sshd\; systemctl restart sshd; systemctl status sshd; Nawet jeśli wkleję dane wyjściowe do terminala, polecenie działa. Ale kiedy próbuję bezpośrednio uruchomić polecenie, otrzymuję: # systemctl\ {restart,status}\ sshd\; bash: systemctl restart sshd;: command not found... Mam dwa pytania.. Jak …
Skrypt bash, który zawiera for i in {a,b}-{1,2}; do echo $i; done odciski a-1 a-2 b-1 b-2 po wykonaniu. Tego się spodziewałem - w miarę {a,b}rozszerzania konstrukcji. Jednak gdy (inny) skrypt zawiera v={a,b}-{1,2} echo $v drukuje {a,b}-{1,2} czego się nie spodziewałem. Spodziewałem się, że to wydrukuje a-1 a-2 b-1 b-2. …
Próbowałem połączyć pliki tekstowe w podfolderach i próbowałem: cat ./{mainfolder1,mainfolder2,mainfolder3}/{subfolder1}/book.txt > out$var Jednak to nic nie zwróciło. Próbowałem więc dodać nieistniejący „podfolder2” cat ./{mainfolder1,mainfolder2,mainfolder3}/{subfolder1,subfolder2}/book.txt > out$var I tym razem się udało, łącząc pliki z powodzeniem. Dlaczego tak się dzieje?
Próbuję skopiować plik pod inną nazwą do tego samego katalogu, używając rozszerzenia nawiasów klamrowych. Używam bash 4.4.18. Oto co zrobiłem: cp ~/some/dir/{my-file-to-rename.bin, new-name-of-file.bin} ale pojawia się ten błąd: cp: cannot stat '/home/xyz/some/dir/{my-file-to-rename.bin,': No such file or directory Nawet takie proste rozwinięcie nawiasu klamrowego daje mi ten sam błąd: cp {my-file-to-rename.bin, …
{}Składnia rozwinięcia nawiasu klamrowego Bash pozwala na tworzenie łatwych permutacji # echo {b,c,d}{a,e,i,o,u} ba be bi bo bu ca ce ci co cu da de di do du Jednak nie jest dla mnie jasne, czy / jak można tego używać wraz z tablicami, z wyjątkiem bardzo niewygodnego użycia $() echoieval …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.