Bash: ტექსტის სვეტის მწკრივად გადაყვანა

დავუშვათ, რომ გვაქვს ტექსტური ფაილი distros.txt შემდეგით:

არქლინქსი
debian
ubuntu
კაოსი
Fedora
ჭურჭელი
ჯენტუ

და ჩვენ გვინდა, რომ აქციოს იგი:

archlinux debian ubuntu kaos fedora slackware gentoo

ამის მისაღწევად გამოვიყენებთ ა მარყუჟისთვის და ექო -ნ :

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

და voila

კარგი არაფერი, იმედი მაქვს გამოგადგებათ. გასარკვევია, რომ ეს შეიძლება გაკეთდეს რეგულარული გამონათქვამებით, მე უბრალოდ არ ვიცი როგორ ... მაგრამ, რეგულარული გამონათქვამებით შეგიძლიათ თითქმის ყველაფერი გააკეთოთ ჰაჰაჰა


სტატიის შინაარსი იცავს ჩვენს პრინციპებს სარედაქციო ეთიკა. შეცდომის შესატყობინებლად დააჭირეთ ღილაკს აქ.

15 კომენტარი დატოვე შენი

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი გამოქვეყნებული არ იყო.

*

*

  1. მონაცემებზე პასუხისმგებელი: მიგელ ანგელ გატონი
  2. მონაცემთა მიზანი: სპამის კონტროლი, კომენტარების მართვა.
  3. ლეგიტიმაცია: თქვენი თანხმობა
  4. მონაცემთა კომუნიკაცია: მონაცემები არ გადაეცემა მესამე პირებს, გარდა სამართლებრივი ვალდებულებისა.
  5. მონაცემთა შენახვა: მონაცემთა ბაზა, რომელსაც უმასპინძლა Occentus Networks (EU)
  6. უფლებები: ნებისმიერ დროს შეგიძლიათ შეზღუდოთ, აღადგინოთ და წაშალოთ თქვენი ინფორმაცია.

  1.   ხოსე რიკარდო დიჯო

    უფრო ადვილია:

    კატა distros.txt | xargs -n 100

  2.   ¿ დიჯო

    თუ .odt- ში თითოეულ გვერდზე მაქვს 2 სვეტი, ისინი ასე კითხულობენ:

    გვ. 1
    კოლ .1 კოლ .2
    გვ. 2
    კოლ .3 კოლ .4
    ა.შ.

    როგორ მივიღო თითოეული სვეტი სხვის ქვემოთ?
    კოლ .1
    კოლ .2
    კოლ .3
    კოლ .4
    ა.შ.

  3.   წვნიანი დიჯო

    ბევრად უფრო ადვილია:

    თუ გსურთ ჩანართებით გამოყოფილი:
    თქვენ წერთ: paste -s distros.txt
    მიიღებთ: archlinux debian ubuntu kaos fedora slackware gentoo

    თუ გსურთ ეს გამოყოფილი იყოს ინტერვალებით:
    თქვენ წერთ: ჩასვით –s –d »» distros.txt
    მიიღებთ: archlinux debian ubuntu kaos fedora slackware gentoo

    თუ გსურთ ეს გამოყოფილი იყოს მძიმით:
    თქვენ წერთ: paste -s -d, distros.txt
    მიიღებთ: archlinux, debian, ubuntu, kaos, fedora, slackware, gentoo

    პასტით, კატით, ავკითა და სხვა მეგობრებთან ერთად, ცოტა გამოგონებით შეგიძიათ გააკეთოთ მრავალი სასარგებლო კომბინაცია თქვენი ცხოვრების გართულების გარეშე.

    დაე ყველაფერი მშვენივრად გაგრძელდეს, გილოცავთ ჯილდოს Portalprogramas– ში!

    1.    მოძალადე დიჯო

      მე ვიყენებდი sed, awk, cut, sort, uniq, მოკლედ კრემს, მაგრამ ყურადღება არასოდეს მიმიქცევია პასტისთვის, მადლობა იმისთვის, რომ ვაჩვენე რისი გაკეთებაც შეუძლია. Slds.

  4.   ტაბრისი დიჯო

    კატა ფაილი. txt | xargs

    მოგება

  5.   კრისტიანჰდ დიჯო

    მე ყოველთვის ვიყენებ Excel- ს ამ [ტრანსპოზიციისთვის] ... ძალიან სასარგებლო

  6.   ბრუნო კასკიო დიჯო

    კიდევ ერთი ვარიანტი:

    კატა distros.txt | tr «\ n» »«

  7.   Joaquin დიჯო

    HaHaHa თითოეულ კომენტარში, იგივე გააკეთოს განსხვავებული გზა!

  8.   ხოსე GDF დიჯო

    და პირიქით, როგორი იქნება ეს? ეს არის სიტყვების სტრიქონის გამოყოფით სვეტად სვეტად.

    1.    წვნიანი დიჯო

      მარტივიც, ამჯერად ავოკით.
      ვთქვათ, რომ ველები გამოყოფილია ჩანართებით ან ინტერვალებით, რაც ყველაზე ხშირად გვხვდება (თუ ეს მძიმით ან სხვა რამით არის გათვალისწინებული და მითითებული), და რომ ფაილი ახლა შეიცავს: archlinux debian ubuntu kaos fedora slackware gentoo

      მას შემდეგ, რაც awk პირდაპირ გვაძლევს ჩვენთვის სასურველ სფეროს, ჩვენ უნდა გავაკეთოთ ის, რომ ბოლომდე განმეორებით გვაჩვენოს. 7 ველია, რადგან ეს არის NF (ველების რაოდენობა) მნიშვნელობა. ჩვენ ვაყენებთ მრიცხველს i = 1, ისე, რომ ის გვაჩვენებს პირველ ველს ($ 1) და უნდა მივიღოთ, რომ ერთი ერთობით გაიზარდოს (i ++ - ის გამოყენებით) ბოლო ველი (NF) გადაჭარბების გარეშე.

      awk '{for (i = 1; i <= NF; i ++) {print $ i}}' distros.txt

      1.    ეთემანანკი დიჯო

        ყველაზე პრაქტიკული გზა, ადვილად დასამახსოვრებელი და რომელიც ორივე გრძნობისთვის მოქმედებს, ეს არის:
        კატა distros.txt | tr '\ n' '' output ჰორიზონტალური გამომავალი stdout (უკვე ზემოთ იყო განხილული)
        კატა distros.txt | tr '' '\ n' ← ვერტიკალური stdout გამომავალი

        მოგესალმებით

    2.    წვნიანი დიჯო

      ნამდვილად Etemenanki– ს გამოსავალი, ორივე გზა, კარგია, თუ თქვენ მხოლოდ უბრალო გარდაქმნით გაინტერესებთ მწკრივიდან სვეტზე და პირიქით.

    3.    ხოსე GDF დიჯო

      ყველას მადლობას გიხდით პასუხისთვის. მე მათ პრაქტიკაში შევადგენ შემდეგ სცენარში, რომელსაც გავაკეთებ.

      ულოცავენ.

  9.   Gato დიჯო

    და თუ მხოლოდ გააკეთებთ:
    ექო $ (კატა distros.txt)

  10.   ანსონ როდრიგესი დიჯო

    კიდევ უფრო ადვილია:
    awk '{printf $ 0 ″ «}} distros.txt

bool (მართალია)