`cut -d: -f5-` mencetak garis walaupun tidak memiliki titik dua

12

Dengan asumsi file bernama "file" yang berisi baris:

foo:bar:baz:qux:quux
one:two:three:four:five:six:seven
alpha:beta:gamma:delta:epsilon:zeta:eta:theta:iota:kappa:lambda:mu
the quick brown fox jumps over the lazy dog

Jika kita menggunakan perintah cut dengan opsi-opsi ini kita mendapatkan:

$ cut -d ":" -f 5- file
quux
five:six:seven
epsilon:zeta:eta:theta:iota:kappa:lambda:mu
the quick brown fox jumps over the lazy dog

Pada baris terakhir, karakter titik dua tidak ditemukan secara normal sehingga seharusnya tidak mengambil garis itu karena kita mulai dengan bidang ke-5 hingga akhir baris.

Kenapa begitu?

00-Yalo
sumber

Jawaban:

16

Secara default cutdengan -fopsi mencetak setiap baris yang tidak mengandung karakter pembatas. Gunakan -sjika Anda tidak menginginkannya:

$ cut -d ":" -f 5- -s file
quux
five:six:seven
epsilon:zeta:eta:theta:iota:kappa:lambda:mu
Florian Diesch
sumber