Mam problem z opanowaniem podstaw skryptów Bash. Oto co mam do tej pory: #!/bin/bash FILES="/home/john/my directory/*.txt" for f in "${FILES}" do echo "${f}" done Chcę tylko wyświetlić listę wszystkich .txtplików w forpętli, dzięki czemu mogę robić z nimi różne rzeczy. Ale miejsce w my directorygwiazdce i gwiazdka po *.txtprostu nie …
Piszę to w Bash: scp user@remote:~/dir/*.xml . i działa, pobierając wszystkie pliki, które tworzą symbol wieloznaczny na zdalnym serwerze. Ale dlaczego to działa? Myślałem, że Bash rozwija wyrażenia wieloznaczne w argumentach, zanim argumenty staną się widoczne dla narzędzia takiego jak scp.
Chciałbym określić zakres plików (w porządku leksykograficznym) z dwiema liczbami całkowitymi (np. 2 do 57) w zsh przez globbing. Na przykład: „wybierz pliki od 2 do 57 w porządku leksykograficznym pod ścieżką, która pasuje do pewnego wzorca globowania”. Myślałem, że wystarczy nawias kwadratowy for x in /foo/bar/*[2-57]; do print $x; …
Powiedzmy, że mam folder z trzema plikami: foo1 foo2 bar 1. Jeśli biegnę list_of_files=$(print foo*) echo $list_of_files Dostaję: foo1 foo2 2. Jeśli biegnę list_of_files=$(print bar*) echo $list_of_files Dostaję: bar 3. Jednak jeśli uruchomię list_of_files=$(print other*) echo $list_of_files Otrzymuję: zsh: no matches found: other*(zmienna $list_of_filesjest pusta) Czy istnieje sposób, aby poprosić …
Mam folder, w którym mam około 4k plików. Niektóre z tych plików zaczynają się od aa ?lub !znaku. Muszę je usunąć, ale nie mogę znaleźć wyrażenia, które by to zrobiło: rm -f ./?* po prostu usuwa wszystko. Mogę ewentualnie używać grepna ls i xargsprzesyłać przez niego i przenosić pliki do …
Mam wyrażenie regularne, które utknąłem w moim .gitignorepodobnym do: (Big|Small)(State|City)-[0-9]*\.csv Nie działało, więc przetestowałem go na RegexLab.NET . Następnie znalazłem stronę podręcznika gitignore, która doprowadziła mnie do wniosku, że gitignore nie używa wyrażeń regularnych, a raczej fnmatch (3) . Jednak fnmatch nie wydaje się mieć odpowiednika grup przechwytywania. Czy to …
Chciałbym skopiować pliki z wieloma rozszerzeniami do jednego katalogu docelowego. Na przykład mogę użyć następującego polecenia, aby skopiować wszystkie pliki .txt z katalogu roboczego do katalogu o nazwie destination: cp -v *.txt destination/ I mogę użyć następujących poleceń, aby skopiować wszystkie katalogi .png z katalogu roboczego do destination: cp -v …
Następujące polecenie będzie tarwszystkie pliki i foldery „kropka”: tar -zcvf dotfiles.tar.gz .??* Znam wyrażenia regularne , ale nie rozumiem, jak interpretować .??*. Wykonałem ls .??*i tree .??*spojrzałem na pliki, które były na liście. Dlaczego to wyrażenie regularne obejmuje .na przykład wszystkie pliki w folderach zaczynające się od?
Jeśli nie chcę ręcznie pobierać plików znajdujących się w określonej ścieżce adresu URL, jakie mam opcje? Używanie symboli wieloznacznych kończy się niepowodzeniem: $ wget 'http://www.shinken-monitoring.org/pub/debian/*deb' Warning: wildcards not supported in HTTP. .... To oczywiście zakłada, że nie znam z góry nazw plików.
Używając zsh, otrzymuję komunikat „Nie znaleziono dopasowania” przy wyborze wzorca, który nie pasuje rmi nawet przy przekierowaniu wyjścia. # rm * > /dev/zero 2>&1 zsh: no matches found: * Jak mogę pozbyć się tej wiadomości?
Używając findz grep, można zlokalizować pliki, które pasują do wzorca: # find | grep error ./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html ./error_log ./includes/classes/error_log Jednak przy użyciu findsamego pierwszego pliku nie znaleziono: # find . -name error* ./error_log ./includes/classes/error_log Dlaczego nie findlokalizuje errors.htmlpliku, gdy nie jest używany grep? Jak findwyświetla się również ten plik?
Jak dopasować ukryte pliki w podanych katalogach na przykład Jeśli podam poniższe polecenie, nie podaje wyniku ukrytych plików, du -b maybehere*/* jak osiągnąć to proste za pomocą jednego polecenia zamiast użycia du -b maybehere*/.* maybehere*/* ponieważ muszę wpisać gdzieś dwa razy.
Mam ten ogromny folder z tysiącami nieuporządkowanych plików. Czy możliwe jest przeniesienie pierwszych 5000 do podfolderu za pomocą mvpolecenia? Na razie przenoszę pliki za pomocą mv *some_pattern* ./subfolder1/ Na razie przesuwam obrazy dość losowo, nie jest tak naprawdę ważne, jeśli w każdym podfolderze nie ma dokładnie 5000 plików. Czy jest …
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.