«printf» etiketlenmiş sorular

Verileri biçimlendiren ve yazdıran kabuk yerleşik komutu. Printf komutuyla ilgili sorular veya programlama dili ile printf sözdizimini genel olarak kullanan sorular (awk, PHP, perl, C ++ ... gibi)

4
Printf neden yankıdan daha iyidir?
Bundan printfdaha iyi olduğunu duydum echo. Kullanmam gereken deneyimlerimden sadece bir örneği hatırlayabilirim printfçünkü echoRHEL 5.8'deki bazı programlara metin yazmak için çalışmadı, ancak printfyaptı. Fakat görünüşe göre, başka farklılıklar var ve bunların ne olduğunu ve ne zaman birinin diğerini kullanacağı konusunda özel durumlar olup olmadığını sormak istiyorum.

2
Printf neden “küçülüyor”?
Aşağıdaki basit betiği uygularsam: #!/bin/bash printf "%-20s %s\n" "Früchte und Gemüse" "foo" printf "%-20s %s\n" "Milchprodukte" "bar" printf "%-20s %s\n" "12345678901234567890" "baz" Yazdırır: Früchte und Gemüse foo Milchprodukte bar 12345678901234567890 baz yani, umutlu metinler (örneğin ü) umutut başına bir karakter tarafından "küçültülür". Kesinlikle, bir yerlerde bazı yanlış ayarlarım var, ama …
54 bash  unicode  printf 

5
çıktıyı 3 ayrı sütuna yazdır
MYPATH=/var/www/html/error_logs/ TOTALFILE=$(ls $MYPATH* | wc -l) FILETIME=$(stat --format=%y $MYPATH* | head -5 | cut -d'.' -f1) FILE=$(ls -1tcr $MYPATH* | head -5 | rev | cut -d/ -f1 | rev) TOPLINE=$(head -1 $MYPATH* | grep -Po '".*?"' | head -5) Bu 5 dosya bilgisini başlıklarla birlikte sütunlara nasıl zarif bir …

3
Awk printf numarasını genişlik ve yuvarlama
Ben bir sayı dışarı yazdırmak gerekiyor , ama verilen genişlik ve yuvarlak (awk ile!) %10s Ben bu ve bir şekilde bağlamak gerekir %dama yaptığım her şey, awk için çok fazla parametre ile sonuçlanır (çünkü daha fazla sütun var).
20 scripting  awk  printf 

2
Neden bazı unicode karakterler terminalime yazdırılmıyor?
Adobe Source Code Pro yazı tipini kullanarak Arch Linux'u basit terminalle çalıştırıyorum. Yerel ayarım doğru olarak ayarlandı LANG=en_US.UTF-8. Oyun kartlarını temsil eden Unicode karakterleri terminalime yazdırmak istiyorum. Referans için Wikipedia kullanıyorum . Kart takımları için Unicode karakterler iyi çalışıyor. Örneğin, $ printf "\u2660" ekrana siyah bir kalp yazdırır. Ancak, belirli …
16 bash  fonts  unicode  printf 


6
Çıktıyı yalnızca desen bulduktan sonra yazdır
echoerBir grup bilgiyi taramak için yazdırılan bir komut dosyası (diyelim ). Çizgileri yalnızca bir desen bulunduktan sonra görebilmek istiyorum. Bir şeye benzemek için bir çözüm kullanıldığını hayal ediyorum echoer | solution_command <pattern> İdeal patternolarak düzenli bir ifade olurdu, ama benim için zor değer dizeleri yeterli olurdu.
13 echo  printf 

1
Bash'in tamsayı yerine sekizlik kodu yorumlamasını nasıl engelleyebilirim?
Bir Horoskop RSS betiği Unix / Linux projesine giriş olarak yazıyorum ve Profesörüm dersten sonra kalmayı başarabildiğim bir zamanda çözemedi. Gerçek tarihleri ​​kontrol etmek için nasıl kullanacağımı anlayamadığım için, kullanıcı girişinin MMDD formatında standart sayılar olmasını sağlayarak temel aritmetiği deneyeceğim. Ona göre senaryo, tamsayı yerine sekizli kod olarak girdi okuyor …



5
bash + özel biçimde yazdırmak için printf kullanma
Linux makineleri listesindeki ping erişimini kontrol etmek için aşağıdaki bash betiğini yazdım: 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 Bu yazdırır: (1) linux643 CONNECTION …

1
Printf yuvarlak yarıları ilk ondalık basamağa nasıl çevirir?
printfSistemimde iki farklı uygulamayı test ediyorum : printf (GNU coreutils) 8.26ve birlikte verilen sürüm zsh 5.3.1. Yarım sayıların nasıl yuvarlandığını test ediyorum, yani 1.5, 2.5, 3.5,… 9.5 için. $ 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 …
11 printf  math 

4
Awk kullanarak dosyadaki ilk sütunun genişliğini değişken sayıda alanla değiştirme
Awk'ın printf işlevini nasıl kullanacağımı anlıyorum, ancak her alanı belirtmek istemiyorum. Örneğin, bunun benim dosyam olduğunu varsayalım: c1|c2|c3|c4|c5 c6|c7|c8|c9|c10 c11|c12|c13|c14|c15 Her kaydın ilk alanı, ilk alandaki en uzun hücre olan c11 genişliği olacak şekilde biçimlendirmek istiyorum: c1 |c2|c3|c4|c5 c6 |c7|c8|c9|c10 c11|c12|c13|c14|c15 Anlayabileceğimi anlıyorum: awk -F"|" '{printf "%-3s%s%s%s%s\n", $1, $2, $3, …

3
Kaçış dizileriyle kontrol karakterleri nasıl yazdırılır?
Tput kullanarak kırmızı rengi tanımladım red=$(tput setaf 1) programımdaki uyarıları renklendirmek için. Bu iyi çalışıyor: printf '%sfail\n' "$red" # prints 'fail' in red Ama bir keresinde kaçış dizisini olduğu gibi yazdırmak istiyorum: \ E [31mfail Bunu nasıl yaparım? Printf'in bir %qbayrağı olduğunu biliyorum ama istemediğim şeylerden kaçıyor.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.