के साथ awk:
awk 'NF{NF-=1};1' <in >out
या:
awk 'NF{NF--};1' <in >out
या:
awk 'NF{--NF};1' <in >out
हालांकि यह वूडू जैसा दिखता है, यह काम करता है। इन awk कमांड में से प्रत्येक के तीन भाग हैं।
पहला है NF, जो दूसरे भाग के लिए एक पूर्व शर्त है। NFएक चर है जिसमें एक पंक्ति में फ़ील्ड्स की संख्या होती है। AWK में, यदि वे 0 या खाली स्ट्रिंग नहीं हैं तो चीजें सही हैं ""। इसलिए, दूसरा भाग (जहां NFकमी है) केवल तब होता है जब NF0 न हो।
दूसरे भाग (या तो NF-=1 NF--या --NF) बस से घटाने पर है NFचर। यह अंतिम फ़ील्ड को प्रिंट होने से रोकता है, क्योंकि जब आप फ़ील्ड बदलते हैं (इस मामले में अंतिम फ़ील्ड को हटाते हैं), awkफिर से निर्माण करें $0, डिफ़ॉल्ट रूप से अंतरिक्ष द्वारा अलग किए गए सभी फ़ील्ड को फिर से बनाएँ। $0अब अंतिम फ़ील्ड शामिल नहीं है।
अंतिम भाग है 1। यह जादुई नहीं है, इसका उपयोग केवल अभिव्यक्ति के रूप में किया जाता है true। यदि कोई awkअभिव्यक्ति बिना किसी संबद्ध क्रिया के सत्य का मूल्यांकन करती है, तो awkडिफ़ॉल्ट क्रिया है print $0।