2012-09-17 9 views
16

मैं टेक्स्ट फ़ाइल में प्रत्येक पंक्ति के अंत में वर्ण A जोड़ना चाहता हूं। मैं अजीब के साथ यह कैसे कर सकता हूँ?अजीब के साथ प्रत्येक पंक्ति के अंत में एक चरित्र कैसे जोड़ें?

1AAB 
VBNM 
JHTF 
2SDA 

वांछित उत्पादन

1AABA 
VBNMA 
JHTFA 
2SDAA 
+1

आप बहुत आसानी से sed के साथ ऐसा कर सकते हैं - 'sed मैं के/$/ए/' file.txt' – squiguy

उत्तर

22

इस के लिए काम कर सकते हैं आप

awk '{print $0"A"}' yourFile 
+1

यदि आप चरित्र को हार्ड-कोड नहीं करना चाहते हैं, तो आप इसे अजीब में पास कर सकते हैं: 'awk -v char = A' {print $ 0 char} 'file' –

+0

यह सुनिश्चित नहीं है कि इसे कहां रखा जाए, लेकिन यह ''प्रिंट $ 0" ए "}" के परिणामस्वरूप प्रत्येक '$ 0 के बाद एक अतिरिक्त न्यूलाइन आउटपुट हुआ किसी कारण से। यह मुझे परेशान कर दिया। किसी भी तरह '' n \ r' प्रत्येक '$ 0' के बाद डाला गया। मैंने बाद में 'tr' का उपयोग करके इस मुद्दे को हल किया। इस तरह कुछ ./script.awk -F $ '\ t' file.tsv | टीआर "\ n \ r" "" 'आप – Matthias

+2

यहाँ कुछ अजीब परिणाम प्राप्त करने के लिए काम कर सकते हैं: ' awk '{$ 0' ए 'प्रिंट}' ---- '1AABA yourFile' VBNMA JHTFA 2SDAA' जैसा कि अपेक्षित था। हालांकि: 'awk '{print $ 0" ए "}' foo.txt' प्रत्येक पंक्ति की शुरुआत में" ए "डालता है। 'Aser_id, count_seen ए, 44 ए, 18603 ए, 87452 ए, 16572' – alexplanation