Belajar dengan membaca secara berurutan

Output Terformat — printf

Berbeda dari echo, printf tidak menambahkan baris baru di akhir, jadi kamu menulis \n sendiri. Pelajari menyisipkan nilai dengan %s/%d, meratakan kolom dengan \t, dan membuat file multi-baris — praktik langsung di terminal browser.

Bedanya printf dari echo — Tanpa Baris Baru Otomatis

printf mencetak teks sama seperti echo, tetapi berbeda dari echo, ia tidak menambahkan baris baru di akhir secara otomatis.

Kamu menulis \n sendiri di mana pun kamu butuh pindah baris.

Karena kamu bisa menyusun output persis seperti yang kamu inginkan, ini juga cocok untuk membuat file multi-baris.

printf 'hello\n' mencetak hello dan sebuah baris baru.

Hilangkan \n dan output berikutnya akan berlanjut pada baris yang sama.

Tulis sebagai printf 'a\nb\nc\n' > file dan kamu langsung membuat file 3 baris.

Bagaimana echo dan printf menangani baris baru
echo hellohello + baris baru(otomatis)printf 'hello\n'hello + baris baru(\n eksplisit)
echo menambahkan baris baru di akhir secara otomatis; printf pindah baris hanya di tempat kamu menulis \n.
echo hello                       # hello + baris baru otomatis
printf 'hello\n'                 # hello + baris baru yang kamu tulis
printf 'a\nb\nc\n' > letters.txt   # buat file 3 baris
cat letters.txt                  # 3 baris a / b / c
Cara menulisnyaBaris baru di akhirHasil
echo 'hi'Ditambahkan otomatishi + baris baru
printf 'hi'Tidak ditambahkanhanya hi (tanpa baris baru)
printf 'hi\n'Tidak ditambahkanhi + baris baru karena kamu menulis \n

① Buat file 3 baris dengan printf 'a\nb\nc\n' > letters.txt.

② Pastikan dengan cat letters.txt bahwa a, b, c muncul pada 3 baris.

③ Jalankan printf 'no newline' dan pastikan tidak ada baris baru di akhir, sehingga prompt berikutnya berlanjut pada baris yang sama.

④ Jalankan printf 'with newline\n' dan pastikan menulis \n menambahkan pindah baris. (Jalankan dengan benar dan penjelasan akan muncul.)

Linux console
0 / 4 selesai
Loading Linux Terminal...

Menyisipkan Nilai dan Meratakan Kolom — %s %d \t

Tulis %s (string) atau %d (integer) dalam format, dan nilai-nilai yang didaftar setelahnya disisipkan di posisi-posisi itu.

printf 'name=%s\n' alice mencetak name=alice.

Ini lebih baik daripada penggabungan sederhana dengan echo untuk memasukkan nilai ke dalam bentuk yang sudah ditentukan.

\t adalah tab, dipakai saat kamu ingin meratakan kolom.

Format diterapkan berulang, sekali untuk tiap kelompok nilai yang menyusul.

Cetak sebuah header dan data masing-masing dalam format yang dipisah tab, seperti printf '%s\t%d\n' alice 30, dan kolomnya akan rata.

Sisipkan dengan %s, ratakan kolom dengan \t
alice ke %ssisipkan string(hi=alice)42 ke %dsisipkan integer (42)%s \t %sratakan kolomdengan tab
%s menyisipkan string, %d integer, dan \t meratakan kolom dengan tab.
printf 'name=%s\n' alice        # name=alice
printf '%s\t%s\n' name age      # header, dipisah tab
printf '%s\t%d\n' alice 30      # baris data, dirapikan
SimbolArtiContoh → output
%sSisipkan stringprintf '%s\n' hihi
%dSisipkan integerprintf '%d\n' 4242
\tTab (perataan kolom)printf 'a\tb\n'a + tab + b
\nBaris baruprintf 'x\n'x + baris baru

① Jalankan printf 'name=%s\n' alice dan pastikan alice disisipkan di posisi %s.

② Jalankan printf '%s\t%s\n' name age dan pastikan \t merapikan kedua kata dipisah tab.

③ Lalu jalankan printf '%s\t%d\n' alice 30 dan pastikan kolom header dan data rata.

Linux console
0 / 3 selesai
Loading Linux Terminal...
QUIZ

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Apa bedanya printf dari echo?

Soal 2Apa yang dicetak printf 'name=%s\n' alice?

Soal 3Apa yang diwakili \t?