To jest mój pierwszy skrypt bashowy, więc prawdopodobnie popełniam łatwy błąd. Zasadniczo próbuję napisać skrypt, który pobiera grupy użytkowników, a jeśli należą do określonej grupy, odpowiednio to zarejestruje. Oczywiście będzie więcej funkcji, ale nie ma sensu budować tego, kiedy nie mogę nawet uruchomić wyrażenia regularnego! Do tej pory mam to: …
Mam plik o nazwie, hostlist.txtktóry zawiera taki tekst: host1.mydomain.com host2.mydomain.com anotherhost www.mydomain.com login.mydomain.com somehost host3.mydomain.com Mam następujący mały skrypt: #!/usr/local/bin/bash while read host; do dig +search @ns1.mydomain.com $host ALL \ | sed -n '/;; ANSWER SECTION:/{n;p;}'; done <hostlist.txt \ | gawk '{print $1","$NF}' >fqdn-ip.csv Które wyniki fqdn-ip.csv: host1.mydomain.com.,10.0.0.1 host2.mydomain.com.,10.0.0.2 anotherhost.internal.mydomain.com.,10.0.0.11 …
Jaki byłby najlepszy sposób sprawdzenia, czy 1 $ jest liczbą całkowitą w / bin / dash? W bashu mogłem: [[ $1 =~ ^([0-9]+)$ ]] Ale to nie wydaje się być zgodne z POSIX i dash tego nie obsługuje
W pracy często muszę logować się na hostach, które stosują wspólny schemat nazewnictwa, np. qc01- qc12, hc01- hc10i tak dalej. Wszystkie te muszą uzyskać te same wartości konfiguracji w moim laptopie .ssh/config. Oczywiście mógłbym użyć wpisów dla hostów qc*i hc*, ale zastanawiam się, czy zamiast tego można w jakiś sposób …
Niedawno miałem problem z pewnym wyrażeniem regularnym w wierszu poleceń i odkryłem, że do dopasowania odwrotnego ukośnika można użyć różnej liczby znaków. Liczba ta zależy od cytowania użytego w wyrażeniu regularnym (brak, pojedyncze cudzysłowy, podwójne cudzysłowy). Zobacz, co mam na myśli, w poniższej sesji bash: echo "#ab\\cd" > file grep …
Dokumentacja Fedory mówi: 5.2 Zaawansowane wyszukiwania Jeśli nie znasz nazwy pakietu, użyj wyszukiwania lub udostępnia opcje. Alternatywnie, użyj symboli wieloznacznych lub wyrażeń regularnych z dowolną opcją wyszukiwania yum, aby poszerzyć kryteria wyszukiwania. Cóż, na początku myślałem, że to jest po prostu błędne lub nieaktualne, ponieważ nie wiadomo, składnia wyrażeń regularnych …
Używam RegEx Buddy do prototypowania i debugowania moich wyrażeń regularnych. RegEx Buddy pozwala mi wybierać spośród wielu różnych typów silnika wyrażeń regularnych (.NET, Java, Perl, GNU BRE, GNU ERE, POSIX, BRE, POSIX ERE itp.). Z jakiego silnika wyrażeń regularnych korzysta bash (na przykład w instrukcjach ifi caseinstrukcjach)? Korzystam z Centos …
Używając sed, często tworzę raczej skomplikowane i skomplikowane wyrażenia regularne, które muszę dwukrotnie dopasować w pliku. Czy istnieje sposób na zapisanie tego wyrażenia regularnego i odwołanie go dwa razy? Może coś, co wygląda tak? sed ' complicated_regex=/^(([a-f0-9]{32})+([a-zA-Z0-9=]{{$i}})?)+$/ s/complicated_regex:complicated_regex/simple-output/ ' my_file Aktualizacja: Odpowiedź przedstawiła rozwiązanie polegające na użyciu zmiennej bash. To …
Za pomocą https://regex101.com/ zbudowałem wyrażenie regularne, aby zwrócić pierwsze wystąpienie adresu IP w ciągu. RegExp: (?:\d{1,3}\.)+(?:\d{1,3}) RegExp, w tym ograniczniki: /(?:\d{1,3}\.)+(?:\d{1,3})/ Z następującym ciągiem testowym: eu-west 140.243.64.99 Zwraca pełne dopasowanie: 140.243.64.99 Bez względu na to, co spróbuję z kotwicami itp. Poniższy skrypt bash nie będzie działał z wygenerowanym wyrażeniem regularnym. …
Chciałbym, aby bash parsował / wyodrębniał pełny adres URL (i tylko adres URL) z losowego krótkiego ciągu. Przykłady: bob, the address is http://www.google.com lub https://foo.com/category/example.html is up lub Error 123 occurred at http://bit.ly/~1223456677878 lub Stats are up: https://foo1234.net/report.jpg Próbowałem użyć, cat foo_output | egrep -o "https?://[\w'-\.]*\s"ale to nie działało.
Alternatywny tytuł: Co to jest „kolejność zestawiania” lub „element zestawiania” w wyrażeniu regularnym zgodnym z POSIX? Dokładną definicję techniczną znalazłem w rozdziale 9.3.5 specyfikacji POSIX , jako pozycja nr 4 na liście, ale nie jest to dla mnie jasne. Przeszukiwałem Internet, szukając przykładów i wyjaśnień, i wymyśliłem, że nie jestem …
Piszę skrypt, chcę sprawdzić, czy pierwszy wiersz pliku pasuje do określonego wzorca, a jeśli tak, to wydrukuj plik. Jak mogę to osiągnąć? Jak mogę sprawdzić wzór? Czy istnieje sposób na sprawdzenie wzoru i na podstawie danych wyjściowych zrób coś… EDYCJA: Proszę spojrzeć na to pytanie: /programming/5536018/how-to-get-match-regex-pattern-using-awk-from-file Chcę czegoś takiego, ale …
Czy istnieje historyczny powód, dla którego Bash „globbing” i wyrażenia regularne nie są identyczne? Na przykład uważam, że w Bash [1-2]*dopasowuje wszystko, co zaczyna się od 1 lub 2, po których następuje cokolwiek innego, podczas gdy jako wyrażenie regularne [1-2]*pasowałoby tylko do sekwencji 1 i 2. Moje skrypty Bash i …
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.