Saya memiliki output seperti; (Kolom dipisahkan oleh tab \t
)
name1 something1
name1 something2
name1 something3
name2 something4
name2 something5
Untuk output ini saya butuh dua output (jika ada name3
, saya akan membutuhkan 3 output) seperti
name1 something1
name1 something2
name1 something3
dan
name2 something4
name2 something5
Saya pikir ini akan dilakukan oleh AWK tetapi saya tidak bisa membuat kata-kata ajaib.
Apa cara terbaik untuk melakukan ini?
Saya memerlukan syarat untuk membaca $1
"1. kolom" dan mencetak semuanya (tidak menghapus duplikat) kecuali itu akan berubah dan mencetak kolom lainnya ($ 2, $ 3, ...)
Saya pikir menggunakan loop itu mencetak output pertama dan seterusnya.
cd
ke direktori yang Anda miliki.: /
Saya pikir ini harus berhasil:
Ini membaca input baris demi baris dan menambahkan setiap baris sesuai dengan argumen pertamanya.
Jika Anda ingin mengalirkannya ke variabel:
Jika Anda memiliki tuntutan besar darinya, gunakan:
Ini akan bekerja Harus. Tidak mungkin gagal.
sumber
< <(cat $file)
setelahdone
tetapi tidak berhasilbash
/awk
/gawk
/ etc, gunakanperl
/python
.