Der integrierte Shell-Befehl, der Daten formatiert und druckt. Fragen, die sich mit dem Befehl printf befassen oder allgemein die printf-Syntax nach Programmiersprache verwenden (wie awk, PHP, perl, C ++ ...)
Ich habe gehört, das printfist besser als echo. Ich kann mich aus meiner Erfahrung nur an eine Instanz erinnern, die ich verwenden musste, printfweil echosie nicht zum Einfügen von Text in ein Programm unter RHEL 5.8 printffunktioniert hat, sondern . Aber anscheinend gibt es andere Unterschiede, und ich möchte nachfragen, …
Wenn ich das folgende einfache Skript ausführe: #!/bin/bash printf "%-20s %s\n" "Früchte und Gemüse" "foo" printf "%-20s %s\n" "Milchprodukte" "bar" printf "%-20s %s\n" "12345678901234567890" "baz" Es druckt: Früchte und Gemüse foo Milchprodukte bar 12345678901234567890 baz Das heißt, Text mit Umlauten (z. B. ü) wird um ein Zeichen pro Umlaut "verkleinert". …
Ich muß printf eine Reihe, aber mit vorgegebener Breite und gerundet (mit awk!) %10s Ich habe dies und irgendwie muss ich das verbinden, %daber alles, was ich tue, endet mit zu vielen Parametern für awk (weil ich mehr Spalten habe).
Ich verwende Arch Linux mit einem einfachen Terminal und der Schriftart Adobe Source Code Pro. Mein Gebietsschema ist korrekt eingestellt auf LANG=en_US.UTF-8. Ich möchte Unicode-Zeichen für Spielkarten auf meinem Terminal drucken. Ich verwende Wikipedia als Referenz . Die Unicode-Zeichen für Karten passen gut. Zum Beispiel beim Ausstellen $ printf "\u2660" …
Die yashShell hat laut Handbuch eine printfeingebaute . In einer yashShell mit Standardkonfiguration sehe ich jedoch Folgendes: kk@eeyore ~ $ command -v printf /usr/bin/printf kk@eeyore ~ $ type printf printf: a regular built-in at /usr/bin/printf Ist printfeine in diese Shell eingebaut oder nicht? Das Ergebnis ist für eine Reihe anderer …
Es gibt ein Skript (nennen wir es echoer), das gedruckt wird, um eine Reihe von Informationen zu überprüfen. Ich möchte nur Linien sehen können, nachdem ein Muster gefunden wurde. Ich stelle mir vor, wie eine Lösung aussehen könnte echoer | solution_command <pattern> Ideal patternwäre ein regulärer Ausdruck, aber harte Wertstrings …
Ich schreibe ein Horoskop-RSS-Skript als Einführung in ein Unix / Linux-Projekt und bin auf ein Problem gestoßen, das mein Professor in der Zeit, in der ich nach dem Unterricht bleiben konnte, nicht beheben konnte. Da ich nicht herausfinden konnte, wie man tatsächliche Daten als zu überprüfende Daten verwendet, dachte ich, …
Ich möchte hello worldüber 20 Zeichen ausgeben . printf "%-20s :\n\n" 'hello world!!' # Actual output hello world!! : # Wanted output hello world!!========: Ich möchte jedoch nicht mit Leerzeichen abschließen, sondern mit " = ". Wie mache ich das?
Ich habe den folgenden Befehl gefunden, um ein Zeichen unter Linux zu wiederholen: printf 'H%.0s' {1..5000} > H.txt Ich möchte zum Beispiel mal Hwiederholen 5000. Was %.0sbedeutet hier?
Ich habe gerade das folgende Bash-Skript geschrieben, um den Ping-Zugriff auf die Liste der Linux-Computer zu überprüfen: 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 …
Ich teste zwei verschiedene Implementierungen printfauf meinem System: printf (GNU coreutils) 8.26und die mitgelieferte Version zsh 5.3.1. Ich teste, wie halbe Zahlen gerundet werden, dh für 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 $ …
Ich verstehe, wie man die printf-Funktion von awk verwendet, möchte aber nicht jedes Feld angeben. Angenommen, dies ist meine Datei: c1|c2|c3|c4|c5 c6|c7|c8|c9|c10 c11|c12|c13|c14|c15 Ich möchte es so formatieren, dass das erste Feld jedes Datensatzes die Breite von c11 hat - die längste Zelle im ersten Feld: c1 |c2|c3|c4|c5 c6 |c7|c8|c9|c10 …
Ich habe die Farbe Rot mit tput definiert red=$(tput setaf 1) Warnungen in meinem Programm einzufärben. Das funktioniert gut: printf '%sfail\n' "$red" # prints 'fail' in red Aber einmal möchte ich die Escape-Sequenz so ausdrucken, wie sie ist, so etwas wie: \ E [31mfail Wie würde ich das machen? Ich …
In einem Shell-Skript ... Wie erfasse ich stdin in einer Variablen, ohne nachfolgende Zeilenumbrüche zu entfernen? Im Moment habe ich versucht: var=`cat` var=`tee` var=$(tee) In allen Fällen $varwird nicht die nachfolgende Newline des Eingabestreams angezeigt. Vielen Dank. AUCH: Wenn die Eingabe keinen nachgestellten Zeilenumbruch enthält, darf die Lösung keinen hinzufügen …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.