GNU/Linux >> Belajar Linux >  >> Linux

Tambahkan jeda baris ke keluaran perintah

Gunakan echo , itu akan secara otomatis menambahkan baris baru:

echo "`curl -s "http://myserver.com/api?param=1&param=2"`" | sudo tee -a /var/log/myserver.log

Sebagai alternatif, Anda dapat mencoba -w opsi, tetapi saya menemukan bahwa itu entah bagaimana mencetak karakter lucu ke konsol (tetapi tidak ke file, untungnya):

curl -s "http://myserver.com/api?param=1&param=2" -w "\n" | sudo tee -a /var/log/myserver.log

Yang paling sederhana adalah menambahkan baris baru menggunakan echo

curl -s "http://myserver.com/api?param=1&param=2" | sudo tee -a /var/log/myserver.log && echo "" >> /var/log/myserver.log

Saya menggunakan awk 1 untuk itu (di mana 1 hanyalah sesuatu yang dinilai benar):

$ printf a|awk 1
a
$ printf a\\n|awk 1
a
$ 

Itu harus bekerja dengan gawk, BWK awk / nawk (yang datang dengan OS X), dan mawk (yang datang dengan Debian). sed -n p berfungsi dengan sed OS X tetapi tidak dengan sed GNU.

Alternatif khusus Bash:

printf %s\\n "$(cat)"

Perhatikan bahwa $() menghapus semua umpan baris dari akhir, misalnya echo $'a\n\n'|printf %s\\n "$(cat)" hanya mencetak satu umpan baris.

Anda juga dapat mengganti printf %s\\n dengan echo , tetapi misalnya x=-nene;echo "$x" tidak mencetak apa pun di Bash (kecuali xpg_echo dan mode POSIX diaktifkan).


Linux
  1. Perintah gema Linux

  2. echo Contoh Perintah di Linux

  3. echo:perintah tidak ditemukan

  1. $_ Vs !$. Argumen Terakhir Dari Perintah Sebelumnya Dan Pengalihan Output?

  2. Bagaimana cara mempertahankan jeda baris saat menyimpan keluaran perintah ke variabel?

  3. Perintah untuk menampilkan setiap baris maju lalu mundur

  1. Teks Gema Setelah Perintah Curl Pada Baris Yang Sama?

  2. Ubah Font Di Perintah Gema?

  3. Melihat output penuh dari perintah PS