Wbudowane polecenie powłoki, które formatuje i drukuje dane. Pytania dotyczące polecenia printf lub szerokiego wykorzystania składni printf przez język programowania (taki jak awk, PHP, perl, C ++ ...)
Słyszałem, że printfto lepsze niż echo. Mogę przypomnieć sobie tylko jedną instancję z mojego doświadczenia, z której musiałem skorzystać, printfponieważ echonie działałem do dostarczenia tekstu do jakiegoś programu na RHEL 5.8, ale to printfzrobiłem. Ale najwyraźniej istnieją inne różnice i chciałbym dowiedzieć się, jakie one są, a także czy istnieją …
Jeśli wykonam następujący prosty skrypt: #!/bin/bash printf "%-20s %s\n" "Früchte und Gemüse" "foo" printf "%-20s %s\n" "Milchprodukte" "bar" printf "%-20s %s\n" "12345678901234567890" "baz" Drukuje: Früchte und Gemüse foo Milchprodukte bar 12345678901234567890 baz to znaczy tekst z umlautami (np. ü) jest „zmniejszany” o jeden znak na umlaut. Oczywiście, mam gdzieś jakieś …
Muszę wydrukować liczbę, ale o podanej szerokości i zaokrąglonej (z awk!) %10s Mam to i jakoś muszę połączyć, %dale wszystko, co robię, kończy się zbyt wieloma parametrami dla awk (ponieważ mam więcej kolumn).
Używam Arch Linux z prostym terminalem, używając czcionki Adobe Source Code Pro. Moje ustawienia regionalne są poprawnie ustawione na LANG=en_US.UTF-8. Chcę wydrukować na moim terminalu znaki Unicode reprezentujące karty do gry. Korzystam z Wikipedii w celach informacyjnych . Znaki Unicode dla kolorów kart działają dobrze. Na przykład wydawanie $ printf …
yashPowłoka posiada printfwbudowany, zgodnie z instrukcją . Jednak to widzę w yashpowłoce z domyślną konfiguracją: kk@eeyore ~ $ command -v printf /usr/bin/printf kk@eeyore ~ $ type printf printf: a regular built-in at /usr/bin/printf Czy printfjest wbudowany w tę powłokę, czy nie? Wynik jest podobny w przypadku wielu innych rzekomo wbudowanych …
Istnieje skrypt (nazwijmy go echoer), który drukuje, aby przejrzeć mnóstwo informacji. Chciałbym widzieć linie tylko po znalezieniu wzoru. Wyobrażam sobie zastosowanie rozwiązania, które mogłoby wyglądać podobnie echoer | solution_command <pattern> Idealnie patternbyłoby wyrażenie regularne, ale ciągi twardej wartości byłyby dla mnie wystarczające.
Piszę skrypt Horoskop RSS jako wprowadzenie do projektu Unix / Linux, i natknąłem się na problem, którego mój profesor nie mógł naprawić w czasie, gdy mogłem zostać po zajęciach. Ponieważ nie mogłem wymyślić, jak używać rzeczywistych dat do sprawdzania, pomyślałem, że spróbuję podstawowej arytmetyki, wprowadzając przez użytkownika standardowe liczby w …
Znalazłem następującą komendę, aby powtórzyć znak w systemie Linux: printf 'H%.0s' {1..5000} > H.txt Chcę na przykład Hpowtarzać 5000czasy. Co to %.0sznaczy tutaj?
Właśnie napisałem następujący skrypt bash, aby sprawdzić dostęp do pingów na liście komputerów z systemem Linux: for M in $list do ping -q -c 1 "$M" >/dev/null if [[ $? -eq 0 ]] then echo "($C) $MACHINE CONNECTION OK" else echo "($C) $MACHINE CONNECTION FAIL" fi let C=$C+1 done To …
Testuję dwie różne implementacje printfw moim systemie: printf (GNU coreutils) 8.26oraz wersję w pakiecie zsh 5.3.1. Testuję, jak zaokrąglane są połówki liczb, tj. Dla 1,5, 2,5, 3,5,… 9,5. $ for i in {1..9}; do /usr/bin/printf '%.0f\n' "${i}.5"; done 2 2 4 4 6 6 8 8 10 $ for i …
Rozumiem, jak korzystać z funkcji printf awk, ale nie chcę określać wszystkich pól. Załóżmy na przykład, że to mój plik: c1|c2|c3|c4|c5 c6|c7|c8|c9|c10 c11|c12|c13|c14|c15 Chcę go sformatować tak, aby pierwszym polem każdego rekordu była szerokość c11 - najdłuższa komórka w pierwszym polu: c1 |c2|c3|c4|c5 c6 |c7|c8|c9|c10 c11|c12|c13|c14|c15 Rozumiem, że mógłbym określić: …
Kolor czerwony zdefiniowałem za pomocą tput red=$(tput setaf 1) pokolorować ostrzeżenia w moim programie. Działa to dobrze: printf '%sfail\n' "$red" # prints 'fail' in red Ale pewnego razu chciałbym wydrukować sekwencję ucieczki taką, jaka jest, na przykład: \ E [31mfail Jak mam to zrobić? Wiem, że printf ma %qflagę, ale …
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.