समजा आपल्याकडे टेक्स्ट फाईल आहे distros.txt पुढील सह:
आर्कलिनक्स
डेबियन
उबंटू
अनागोंदी
fedora
स्लॅकवेअर
हळू
आणि आम्ही यात बदलू इच्छितो:
आर्चलिन्क्स डेबियन उबंटू काओस फेडोरा स्लॅकवेअर विलीन
हे साध्य करण्यासाठी आपण a वापरू पळवाट साठी आणि एक एको -एन :
for i in `< distros.txt`; do echo -n ${i}" ";done; echo ""
पूर्ण झाले, हे युक्ती करते 🙂
हे आम्हाला टर्मिनलमध्ये इच्छित परिणाम दर्शवेल, जर दुसरीकडे आपल्याला ती दुसर्या .txt फाईलमध्ये सेव्ह करायची असल्यास आम्ही आउटपुट रीडायरेक्ट करतो:
for i in `< distros.txt`; do echo -n ${i}" ";done; echo "" > distros-nuevas.txt
आणि व्होइला 🙂
काहीही नाही, मी आशा करतो की आपल्याला ते उपयुक्त वाटेल. हे नियमित अभिव्यक्तीद्वारे देखील केले जाऊ शकते हे स्पष्ट करण्यासाठी वैध, मला फक्त कसे माहित नाही ... परंतु, नियमित अभिव्यक्तीद्वारे आपण जवळजवळ प्रत्येक गोष्ट हाहा करू शकता.
सोपे:
मांजर distros.txt | xargs -n 100
.Odt मध्ये असल्यास माझ्याकडे प्रत्येक पृष्ठावर 2 स्तंभ आहेत, त्यांनी असे वाचलेः
पी .1
कॉल .1 कॉल .2
पी .2
कॉल .3 कॉल .4
इ
मी प्रत्येक स्तंभ दुसर्या खाली कसा मिळवू?
कॉल .1
कॉल .2
कॉल .3
कॉल .4
इ
बरेच सोपे आहे:
आपण टॅबद्वारे विभक्त करू इच्छित असल्यास:
आपण लिहा: पेस्ट -s distros.txt
आपणास मिळेल: आर्चीलिनक्स डेबियन उबंटू काओस फेडोरा स्लॅकवेअर सॉफ्टवे
आपण हे मोकळ्या जागेद्वारे विभक्त करू इच्छित असल्यास:
आपण लिहा: पेस्ट -s -d »» distros.txt
आपणास मिळेलः आर्चीलिंक डेबियन उबंटू काओस फेडोरा स्लॅकवेअर
आपण हे स्वल्पविरामाने विभक्त करू इच्छित असल्यास:
आपण लिहा: पेस्ट -s -d, distros.txt
आपण मिळवा: आर्चीलिनक्स, डेबियन, उबंटू, काओस, फेडोरा, स्लॅकवेअर, हळू
पेस्ट, मांजरी, अस्ता आणि इतर मित्रांसह, थोडे चातुर्य घेऊन आपण आपले जीवन गुंतागुंत न करता बरेच उपयुक्त संयोजन बनवू शकता.
सर्व काही उत्कृष्ट चालू ठेवू द्या, पोर्टलप्रोग्राममधील पुरस्काराबद्दल अभिनंदन!
मी शॉर्ट मलईमध्ये सेड, अंड, कट, सॉर्ट, युनिक, वापरत आहे, परंतु पेस्टकडे मी कधीच लक्ष दिले नाही, ते काय करू शकते हे दर्शविल्याबद्दल धन्यवाद. Slds.
मांजर file.txt | xargs
लाभ
मी नेहमीच या [ट्रान्सपोज] साठी एक्सेल वापरतो ... खूप उपयुक्त
आणखी एक प्रकार:
मांजर distros.txt | tr «\ n» »
प्रत्येक टिप्पणीमध्ये हाहा, तेच करण्याचा एक वेगळा मार्ग!
आणि उलट करण्यासाठी, ते काय असेल? म्हणजेच रिक्त स्थानांद्वारे विभक्त केलेल्या शब्दांची ओळ स्तंभात रूपांतरित करते.
सुलभ देखील, यावेळी अस्ताव्यस्त.
गृहीत धरून फील्ड टॅब किंवा मोकळ्या जागेद्वारे विभक्त झाले आहेत, जे सर्वात सामान्य आहे (ते स्वल्पविरामाने किंवा इतर काही असल्यास, ते विचारात घेतले पाहिजे आणि सूचित केले जावे), आणि त्या फाईलमध्ये आता समाविष्ट आहे: आर्चीलिनक्स डेबियन उबंटू काओस फेडोरा स्लॅकवेअर सॉफ्टू
कशाप्रकारे थेट आम्हाला हवे असलेले फील्ड मिळवित असल्याने शेवटपर्यंत आम्हाला ते एकापाठोपाठ एक दर्शविणे आवश्यक आहे. तेथे 7 फील्ड आहेत कारण हे एनएफ (फील्ड्सची संख्या) चे मूल्य आहे. आम्ही आय = 1 काउंटर सेट केला, जेणेकरुन ते आम्हाला प्रथम फील्ड दर्शवेल ($ 1) आणि आम्हाला शेवटचे फील्ड (एनएफ) ओलांडल्याशिवाय एका युनिटने (आय ++ वापरुन) वाढवावे लागेल.
(i = 1; i <= NF; i ++) साठी k awk '{मुद्रित करा $ i} dist' distros.txt
सर्वात व्यावहारिक मार्ग, लक्षात ठेवण्यास सोपा आणि जो दोन्ही इंद्रियांसाठी कार्य करतो तो असाः
मांजर distros.txt | tr '\ n' '' ← क्षैतिज स्टडआउट आउटपुट (आधीपासून वर चर्चा केलेले)
मांजर distros.txt | tr '' '\ n' ← अनुलंब stdout आउटपुट
धन्यवाद!
जर आपल्याला केवळ पंक्तीपासून ते स्तंभ आणि त्याउलट उलट्या एका साध्या परिवर्तनात रस असेल तर निश्चितपणे इटेमेन्कीचे समाधान, दोन्ही मार्ग ठीक आहे.
प्रतिसाद दिल्याबद्दल सर्वांचे आभार. मी करतो त्या पुढील स्क्रिप्टमध्ये मी त्या प्रत्यक्षात आणेन.
ग्रीटिंग्ज
आणि आपण केवळ असे केल्यास:
प्रतिध्वनी (मांजर distros.txt)
आणखी सोपे:
awk '{printf $ 0 ″ «}' distros.txt