मैं लेन-देन से भरे फ़ाइल से पैटर्न मिलान के दोनों लाइनों को हटाने की कोशिश कर रहा हूं। अर्थात। मैच ढूंढें, उसके बाद दो पंक्तियां हटाएं, फिर उसके बाद दो पंक्तियां हटाएं और फिर मैच हटा दें। इसे मूल फ़ाइल में वापस लिखें।बैश में एक मैच के पहले और बाद में लाइनों को हटाएं (sed या awk के साथ)?
तो इनपुट डेटा
D28/10/2011
T-3.48
PINITIAL BALANCE
M
^
है और मेरी पैटर्न
sed -i '/PINITIAL BALANCE/,+2d' test.txt
हालांकि यह केवल पैटर्न मैच के बाद दो पंक्तियों हटा रहा है और उसके बाद पैटर्न मैच को हटाने है। मैं sed का उपयोग कर मूल फ़ाइल से डेटा की सभी 5 लाइनों को हटाने के लिए किसी भी तार्किक तरीके से काम नहीं कर सकता।
सुझाव choroba के लिए धन्यवाद। मैंने पहले पर्ल में कभी प्रोग्राम नहीं किया है ... क्या इसे बाश में करने का कोई तरीका नहीं है? – juliushibert
यदि यह संभव है, तो भी यह बाश में भी संभव है। लेकिन यह प्रयास के लायक नहीं है ... – choroba