Mam skrypt powłoki, który używa następującego polecenia do wydrukowania zielonego znacznika wyboru w danych wyjściowych: col_green="\e[32;01m" col_reset="\e[39;49;00m" echo -e "Done ${col_green}✓${col_reset}" Po przeczytaniu o cytowaniu ANSI-C Basha , zdałem sobie sprawę, że mogę go użyć do ustawienia zmiennych kolorów i usunięcia -eflagi z mojego echa . col_green=$'\e[32;01m' col_reset=$'\e[39;49;00m' echo "Done …
Proste pytanie, ale nie mogę znaleźć odpowiedzi. dokumentacja Zsh mnie przytłacza :-( function z () { echo ${1:s/the/THE} } $ z thethethe THEthethe ... Jak sprawić, by wszystkie „te” zostały zastąpione przez „THE”, a nie tylko pierwsze wystąpienie? Zsh to najłatwiejsze rzeczy, na które wydaje się najtrudniej znaleźć przykłady.
Chciałbym podzielić ciąg na dwie połówki i wydrukować je sekwencyjnie. Na przykład: abcdef w abc def Czy istnieje prosty sposób, aby to zrobić, czy też wymaga przetworzenia ciągu?
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
Piszę skrypt, który musi obliczyć liczbę znaków w wynikach polecenia w jednym kroku . Na przykład użycie polecenia readlink -f /etc/fstabpowinno powrócić, 10ponieważ wynik tego polecenia ma długość 10 znaków. Jest to już możliwe w przypadku przechowywanych zmiennych przy użyciu następującego kodu: variable="somestring"; echo ${#variable}; # 10 Niestety użycie tej …
Mam następujący ciąg w ciągu (adres IP): 123.444.888.235 Chcę zastąpić ostatni numer po kropce 0, więc staje się: 123.444.888.0 Jak mogę to zrobić w bashinnym języku skryptowym powłoki?
Mam wykonywalny plik binarny; nazwijmy to a.out. Widzę, że plik binarny zawiera ciągi $ strings a.out ... /usr/share/foo .... Muszę zmienić ciąg /usr/share/foona /usr/share/bar. Czy mogę po prostu zastąpić ciąg sed? sed -i 's@/usr/share/foo@/usr/share/bar@' a.out To wygląda na bezpieczne. Czy to zadziała również, gdy struny nie będą tej samej długości?
Muszę przejść od ciągu do tablicy, w której każdy wpis to każde słowo w tym ciągu. Na przykład, zaczynając od: VotePedro="Vote for Pedro" Potrzebuję tablicy: Vote For Pedro Które powinienem być w stanie powtórzyć jako: for i in "${votePedroArray[@]}" do ## Do something done
Szukam sposobu na zastąpienie ciągów znaków zastępczych w pliku szablonu konkretnymi wartościami za pomocą popularnych narzędzi uniksowych (bash, sed, awk, może perl). Ważne jest, aby zastąpienie odbywało się w jednym przejściu, co oznacza, że to, co już zostało zeskanowane / wymienione, nie może być brane pod uwagę przy kolejnej wymianie. …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było na temat wymiany stosów Unix i Linux. Zamknięte 5 lat temu . Mam dwa sznurki. Dla przykładu są one ustawione następująco: string1="test toast" string2="test test" Chcę znaleźć zakładkę zaczynającą się …
Muszę zidentyfikować pozycję znaku w ciągu za pomocą polecenia grep. Przykład: ciąg to RAMSITALSKHMAN|1223333. grep -n '[^a-zA-Z0-9\$\~\%\#\^]' Jak znaleźć pozycję |w danym ciągu?
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.