GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan awk untuk mencetak semua kolom dari n ke yang terakhir

Ada pertanyaan rangkap dengan jawaban yang lebih sederhana menggunakan cut:

 svn status |  grep '\!' | cut -d\  -f2-

-d menentukan pembatas (spasi) , -f menentukan daftar kolom (semua dimulai dengan yang ke-2)


Cetak semua kolom:

awk '{print $0}' somefile

Cetak semua kecuali kolom pertama:

awk '{$1=""; print $0}' somefile

Cetak semua kecuali dua kolom pertama:

awk '{$1=$2=""; print $0}' somefile

Anda dapat menggunakan for-loop untuk mengulang bidang pencetakan $2 hingga $NF (variabel bawaan yang mewakili jumlah bidang pada baris).

Sunting:Karena "cetak" menambahkan baris baru, Anda ingin menyangga hasilnya:

awk '{out=""; for(i=2;i<=NF;i++){out=out" "$i}; print out}'

Atau, gunakan printf:

awk '{for(i=2;i<=NF;i++){printf "%s ", $i}; printf "\n"}'

Linux
  1. Menggunakan Stratis untuk mengelola penyimpanan Linux dari baris perintah

  2. Menggunakan Reddit dari konsol pada tahun 2020

  3. Menggunakan Google Drive dari Baris Perintah Linux

  1. Hapus Semua File Dalam Satu Folder Kecuali Yang Terakhir (Terbaru) 20?

  2. Bagaimana Menemukan Kejadian Terakhir Dari Pola Dan Mencetak Semua Baris Setelah Kejadian Terakhir?

  3. Apa Perbedaan Antara Print Dan Printf Dalam Awk?

  1. Bagaimana cara mencetak kolom ketiga ke kolom terakhir?

  2. Cetak baris terakhir file, dari CLI

  3. Menggunakan openssl untuk mendapatkan sertifikat dari server