2013-03-12 8 views
17

मुझे एक सादा पाठ फ़ाइल से एक कॉलम हटाने की जरूरत है। मुझे लगता है कि यह कट कमांड के विपरीत का उपयोग करके किया जा सकता है। मेरा मतलब है, कुछ इस तरह:संकेत दिए गए सभी कॉलम दिखाने के लिए बैश में कट कमांड का उपयोग कैसे करें?

01 Procedimiento_tal retiro aceptado 
01 tx1 
01 tx2 
01 tx3 
02 Procedimiento_tal retiro rechazado 
02 tx1 
02 tx2 
02 tx3 
03 Procedimiento_tal retiro aceptado 
03 tx1 
03 tx2 
03 tx3 

क्या मैं कटौती के साथ पहले कॉलम को हटाने और बैश ?:

Procedimiento_tal retiro aceptado 
tx1 
tx2 
tx3 
Procedimiento_tal retiro rechazado 
tx1 
tx2 
tx3 
Procedimiento_tal retiro aceptado 
tx1 
tx2 
tx3 
में निम्न पाठ प्राप्त करने के लिए कर सकते हैं:

यह मेरी फ़ाइल है

अग्रिम

उत्तर

35

धन्यवाद cut का उपयोग करना:

cut -d ' ' -f 2- input-file 

आपको जो चाहिए वो करना चाहिए।

+0

धन्यवाद, यह काम करता है :) – Herman

+1

यह पर्याप्त रूप से ऊपर नहीं जा सकता ... – hovanessyan

15

file में एक सीमांकक (-d) के रूप में ' ' का उपयोग कर infile पढ़ने के लिए और डाल क्षेत्रों (-f) 2 के बाद (2-):

cut -d' ' -f2- infile > file 

अधिक विकल्पों के लिए man cut देखें।

एनबी: यह -विशिष्ट नहीं है।

+0

आपकी व्याख्या के कारण उपरोक्त। –

+1

बहुत उपयोगी स्पष्टीकरण! – ayaz

4

जीएनयू कोर्यूटिल्स कट --complement ध्वज का समर्थन करता है। तो तुम कटौती की है कि संस्करण का उपयोग कर रहे हैं आप कह सकते हैं:

cut --complement -d' ' -f1 infile 

आउटपुट:

Procedimiento_tal retiro aceptado 
tx1 
tx2 
tx3 
Procedimiento_tal retiro rechazado 
tx1 
tx2 
tx3 
Procedimiento_tal retiro aceptado 
tx1 
tx2 
tx3 
+0

वाह धन्यवाद थोर, मैं अपनी स्क्रिप्ट को इस में बदल दूंगा। तुम्हारी मदद के लिए शुक्रिया। – Herman

1

यहाँ एक आदेश है कि काम करता है, और है कि हर किसी की तुलना में थोड़ा कम है:

cut -b 4- input-file 

-b बाइट के लिए खड़ा है, और बाइट्स का चयन करता है जो स्क्रीन पर चिपकाए जाएंगे।

4- -b का एक हिस्सा है और इसका मतलब है कि यह प्रत्येक पंक्ति के अंतिम चरित्र को प्रत्येक पंक्ति के चौथे चरित्र का चयन करेगा। कट कमांड तब चयन को स्क्रीन पर पेस्ट करेगा।

संबंधित मुद्दे