$ awk '{printf "%s%s",$0,(NR%2?" ":"\n")}' sample.txt
this is line one and this is line two
the third and the fourth must be pasted too
यह प्रत्येक पंक्ति को प्रिंट करता है $0
, उसके बाद या तो एक स्थान या एक नई रेखा के आधार पर, चाहे रेखा संख्या NR
विषम हो, या विषम हो।
अभिव्यक्ति NR%2?" ":"\n"
एक तीखा कथन है। NR%2
यदि पंक्ति संख्या विषम है, तो अभिव्यक्ति सही (nonzero) का मूल्यांकन करती है। मामले में, टर्नरी अभिव्यक्ति एक स्थान देता है। यदि यह असत्य (शून्य) का मूल्यांकन करता है, तो नईलाइन वापस आ जाती है।
विकल्प
जैसा कि कॉस्टस द्वारा टिप्पणियों में सुझाया गया है:
$ awk '{ORS=(NR%2?" ":RS)}1' sample.txt
this is line one and this is line two
the third and the fourth must be pasted too
यहां, टर्नेरी स्टेटमेंट NR%2?" ":RS
का उपयोग स्पेस या इनपुट रिकॉर्ड सेपरेटर ( RS
, डिफ़ॉल्ट = न्यूलाइन) को वापस करने के लिए किया जाता है । यह मान, उत्पादन रिकॉर्ड विभाजक को सौंपा गया है ORS
। 1
आदेश के अंत में प्रिंट-रिकार्ड के लिए awk के गुप्त आशुलिपि है।