लिनक्स cut कमांड संपूर्ण गाइड - लॉग और CSV टेक्स्ट डेटा से केवल मनचाहे कॉलम आसानी से निकालें!

अवलोकन

लिनक्स परिवेश में जब आपको बड़े लॉग फ़ाइलों या CSV डेटा से केवल आवश्यक कॉलम तेज़ी से निकालने की आवश्यकता होती है, तो cut कमांड सबसे हल्का और शक्तिशाली टूल साबित होता है। डेलिमिटर-आधारित फ़ील्ड पृथक्करण से लेकर स्थिर-चौड़ाई (fixed-width) बाइट-स्तरीय स्लाइसिंग तक, आइए वास्तविक कार्य में तुरंत उपयोग की जा सकने वाली प्रमुख तकनीकों के बारे में जानें।

डेलिमिटर(-d) और फ़ील्ड(-f) का उपयोग करके CSV और सिस्टम खाता डेटा निकालना

cut कमांड के अभ्यास के लिए एक समर्पित डायरेक्टरी बनाने और उसमें जाने के लिए mkdir -p ~/cut_demo && cd ~/cut_demo कमांड चलाएँ।

mkdir -p ~/cut_demo && cd ~/cut_demo

अल्पविराम (,) द्वारा अलग की गई परीक्षण यूज़र डेटा फ़ाइल बनाने के लिए echo कमांड का उपयोग करके users.csv फ़ाइल तैयार करें।

echo -e ‘id,name,role,department\n1,alice,admin,security\n2,bob,dev,backend\n3,charlie,dev,frontend’ > users.csv

cut कमांड टेक्स्ट फ़ाइलों या आउटपुट परिणामों से किसी विशिष्ट डेलिमिटर के आधार पर वांछित कॉलम (फ़ील्ड), बाइट या वर्ण (character) इकाइयों को निकालने का एक उपकरण है।
-d विकल्प के साथ अल्पविराम (,) को डेलिमिटर के रूप में निर्दिष्ट करें और -f विकल्प के साथ दूसरे और चौथे फ़ील्ड का चयन करके users.csv फ़ाइल से केवल नाम और विभाग की जानकारी को स्पष्ट रूप से आउटपुट करें।
⚙️ [मुख्य विकल्प]

-d : फ़ील्ड को विभाजित करते समय उपयोग किए जाने वाले डेलिमिटर को सीधे निर्दिष्ट करता है (डिफ़ॉल्ट टैब वर्ण है)।
-f : निकाले जाने वाले फ़ील्ड (कॉलम) की संख्या या सीमा निर्दिष्ट करता है।
-c : बाइट्स के बजाय वर्ण (character) स्थिति के आधार पर डेटा को काटता है।
-b : बाइट स्थिति के आधार पर डेटा को काटता है।
--complement : निर्दिष्ट फ़ील्ड या वर्ण सीमा को छोड़कर शेष सभी भागों को उलटकर आउटपुट करता है।
-s : उन पंक्तियों को परिणाम आउटपुट से बाहर करता है जिनमें डेलिमिटर शामिल नहीं है।
--output-delimiter : परिणाम आउटपुट करते समय उपयोग किए जाने वाले फ़ील्ड डेलिमिटर को मनचाहे स्ट्रिंग में बदलकर प्रदर्शित करता है।

cut -d’,’ -f2,4 users.csv

लिनक्स सिस्टम खाता जानकारी वाली /etc/passwd फ़ाइल से कोलन (:) डेलिमिटर के आधार पर केवल खाता नाम (पहला फ़ील्ड) और डिफ़ॉल्ट शेल पथ (सातवाँ फ़ील्ड) निकालें, फिर head कमांड से शीर्ष 5 पंक्तियों की जाँच करें।
इस प्रकार, cut कमांड और पाइप (|) को मिलाकर आप विशाल सिस्टम कॉन्फ़िगरेशन फ़ाइलों से केवल आवश्यक मुख्य कॉलम डेटा की आसानी से निगरानी कर सकते हैं।

cut -d’:’ -f1,7 /etc/passwd | head -n 5

बाइट(-b) और वर्ण(-c) आधारित स्लाइसिंग के साथ स्थिर-चौड़ाई वाले लॉग को संभालना

अभ्यास जारी रखने के लिए पहले बनाई गई कार्यशील डायरेक्टरी में जाने हेतु cd ~/cut_demo कमांड चलाएँ।

cd ~/cut_demo

स्थिर-चौड़ाई वाली वर्ण-स्तरीय स्लाइसिंग का अभ्यास करने के लिए दिनांक, समय और लॉग स्तर के एक समान प्रारूप में दर्ज service.log नमूना लॉग फ़ाइल बनाएँ।

echo -e ‘2026-10-07 14:00:01 [INFO] Service started\n2026-10-07 14:00:05 [WARN] High memory usage\n2026-10-07 14:00:12 [ERROR] Connection timed out’ > service.log

cut कमांड में -c1-10 विकल्प निर्दिष्ट करके प्रत्येक पंक्ति के पहले वर्ण से 10वें वर्ण तक काटकर केवल वर्ष-महीना-दिन दिनांक की जानकारी आसानी से निकालें।

cut -c1-10 service.log

-c12-19 विकल्प का उपयोग करके लॉग फ़ाइल के 12वें वर्ण से 19वें वर्ण तक स्थित घंटा:मिनट:सेकंड टाइमस्टैम्प जानकारी को सटीक रूप से अलग करके आउटपुट करें।

cut -c12-19 service.log

यदि आप -c22- की तरह समाप्ति स्थिति को छोड़ देते हैं, तो आप 22वें वर्ण से प्रत्येक पंक्ति के अंत तक शेष सभी टेक्स्ट को एक साथ स्लाइस करके संदेश क्षेत्र निकाल सकते हैं।

cut -c22- service.log

आउटपुट डेलिमिटर(–output-delimiter) बदलना और निर्दिष्ट फ़ील्ड को छोड़ना(–complement)

पहले बनाई गई अभ्यास फ़ाइलों वाली डायरेक्टरी में जाने के लिए cd ~/cut_demo कमांड चलाएँ।

cd ~/cut_demo

--output-delimiter विकल्प का उपयोग करके आप निकाले गए फ़ील्ड के बीच डिफ़ॉल्ट डेलिमिटर के स्थान पर अपनी पसंद का कोई भी स्ट्रिंग निर्दिष्ट करके आउटपुट कर सकते हैं।
अल्पविराम (,) द्वारा अलग की गई users.csv फ़ाइल से दूसरे और तीसरे फ़ील्ड को निकालें और पठनीयता बढ़ाने के लिए फ़ील्ड के बीच स्पेस और पाइप (|) चिह्न जोड़कर प्रदर्शित करें।

cut -d’,’ -f2,3 –output-delimiter=’ | ’ users.csv

--complement विकल्प निर्दिष्ट करने पर यह चयनित फ़ील्ड को छोड़कर शेष सभी कॉलम को उलटकर आउटपुट करता है।
-f3 विकल्प के साथ उपयोग करने पर केवल तीसरे फ़ील्ड (भूमिका जानकारी) को हटा दिया जाता है और शेष फ़ील्ड पूरी तरह से आउटपुट हो जाते हैं।

cut -d’,’ –complement -f3 users.csv

व्यावहारिक पाइपलाइन एकीकरण: cut, sort और uniq को मिलाकर एक्सेस IP सांख्यिकीय विश्लेषण

अभ्यास जारी रखने के लिए पहले बनाई गई समर्पित डायरेक्टरी में जाने हेतु cd ~/cut_demo कमांड चलाएँ।

cd ~/cut_demo

वेब सर्वर के क्लाइंट अनुरोध रिकॉर्ड का सिमुलेशन विश्लेषण करने के लिए स्पेस द्वारा अलग किए गए एक्सेस IP और HTTP अनुरोध जानकारी वाली access.log नमूना लॉग फ़ाइल बनाएँ।

echo -e ‘192.168.1.10 - - [07/Oct/2026] “GET /index.html” 200\n192.168.1.15 - - [07/Oct/2026] “POST /login” 401\n192.168.1.10 - - [07/Oct/2026] “GET /dashboard” 200\n10.0.0.5 - - [07/Oct/2026] “GET /api/v1” 200\n192.168.1.10 - - [07/Oct/2026] “POST /logout” 200’ > access.log

cut कमांड के -d' ' -f1 विकल्प के साथ स्पेस के आधार पर पहले कॉलम यानी केवल क्लाइंट IP पते को अलग करें।
इसके बाद sort से क्रमबद्ध करें, फिर uniq -c से डुप्लिकेट की संख्या की गणना करें, और फिर sort -nr को जोड़कर उच्चतम एक्सेस आवृत्ति वाले IP के आधार पर अवरोही क्रम (descending order) में क्रमबद्ध सांख्यिकीय रैंकिंग प्राप्त करें।

cut -d’ ’ -f1 access.log | sort | uniq -c | sort -nr

अब तक हमने देखा कि cut कमांड का उपयोग करके लॉग और CSV डेटा से केवल मनचाहे कॉलम को स्पष्ट रूप से कैसे निकाला जाए।
डेलिमिटर और फ़ील्ड विकल्पों का सही ढंग से उपयोग करके अपने नियमित टेक्स्ट प्रोसेसिंग और डेटा प्रोसेसिंग कार्यों को और अधिक कुशल बनाएँ।