İle awk:
awk 'NF{NF-=1};1' <in >out
veya:
awk 'NF{NF--};1' <in >out
veya:
awk 'NF{--NF};1' <in >out
Bu vudu çiçeği gibi gözükse de işe yarıyor. Bu awk komutlarının her birinde üç bölüm vardır.
Birincisi NF, ikinci bölüm için bir önkoşuldur. NFbir satırdaki alan sayısını içeren bir değişkendir. AWK’de, 0 değil veya boş bir dize varsa, şeyler doğrudur "". Dolayısıyla, ikinci kısım ( NFazaltılan yerde ) sadece NF0 değilse gerçekleşir .
İkinci parça (ya NF-=1 NF--da --NF) sadece birini NFdeğişkenden çıkartıyor. Bu, son alanın yazdırılmasını önler, çünkü bir alanı değiştirdiğinizde (bu durumda son alanı kaldırarak), awkyeniden yapılandırın $0, varsayılan olarak boşlukla ayrılmış tüm alanları birleştirin. $0artık son alanı içermiyordu.
Son kısım 1. Büyülü değil, sadece bir ifade olarak kullanılıyor true. Bir awkifade, ilişkili bir işlem yapmadan true olarak değerlendirilirse, awkvarsayılan eylem şöyledir print $0.