Bash: Tiontaigh colún téacs go chéile

Cuir i gcás go bhfuil comhad téacs againn ar a dtugtar distros.txt leis an méid seo a leanas:

archlinux
Debian
ubuntu
anord
fedora
earraí slack
gento

Agus ba mhaith linn é a iompú:

archlinux Debian ubuntu kaos fedora Slackware Gentoo

Chun é seo a bhaint amach úsáidfimid a le haghaidh lúb agus macalla -n :

for i in `< distros.txt`; do echo -n ${i}" ";done; echo ""

Arna dhéanamh, déanann sé seo an cleas 🙂

Taispeánfaidh sé seo an toradh inmhianaithe dúinn sa teirminéal, más mian linn ar an taobh eile é a shábháil i gcomhad .txt eile déanaimid an t-aschur a atreorú:

for i in `< distros.txt`; do echo -n ${i}" ";done; echo "" > distros-nuevas.txt

Agus voila 🙂

Bhuel rud ar bith, tá súil agam go mbeidh sé úsáideach duit. Bailí chun a shoiléiriú gur féidir é a dhéanamh le nathanna rialta, níl a fhios agam conas ... ach, le nathanna rialta is féidir leat beagnach gach rud a dhéanamh hahaha.


Cloíonn ábhar an ailt lenár bprionsabail eitic eagarthóireachta. Chun earráid a thuairisciú cliceáil anseo.

15 trácht, fág mise

Fág do thrácht

Ní thabharfar do sheoladh r-phoist a fhoilsiú. Réimsí riachtanacha atá marcáilte le *

*

*

  1. Freagrach as na sonraí: Miguel Ángel Gatón
  2. Cuspóir na sonraí: SPAM a rialú, bainistíocht trácht.
  3. Legitimation: Do thoiliú
  4. Na sonraí a chur in iúl: Ní chuirfear na sonraí in iúl do thríú páirtithe ach amháin trí oibleagáid dhlíthiúil.
  5. Stóráil sonraí: Bunachar sonraí arna óstáil ag Occentus Networks (EU)
  6. Cearta: Tráth ar bith is féidir leat do chuid faisnéise a theorannú, a aisghabháil agus a scriosadh.

  1.   Jose Ricardo a dúirt

    níos éasca:

    distros cat.txt | xargs -n 100

  2.   ¿ a dúirt

    Má tá 2 cholún agam ar gach leathanach, léann siad mar seo:

    lch 1
    col.1 col.2
    lch 2
    col.3 col.4
    etc.

    Conas a gheobhaidh mé gach colún faoi bhun an chinn eile?
    col.1
    col.2
    col.3
    col.4
    etc.

  3.   juant a dúirt

    I bhfad níos éasca:

    Más mian leat scartha le cluaisíní:
    Scríobhann tú: greamaigh -s distros.txt
    Faigheann tú: archlinux debian ubuntu kaos fedora slackware gentoo

    Más mian leat é a bheith scartha le spásanna:
    Scríobhann tú: greamaigh -s -d »» distros.txt
    Faigheann tú: archlinux debian ubuntu kaos fedora slackware gentoo

    Más mian leat é a scaradh le camóga:
    Scríobhann tú: greamaigh -s -d, distros.txt
    Faigheann tú: archlinux, debian, ubuntu, kaos, fedora, slackware, gentoo

    Le greamaigh, cat, awk agus cairde eile, le beagán seiftiúlacht is féidir leat a lán teaglaim úsáideacha a dhéanamh gan do shaol a dhéanamh níos casta.

    Lig gach rud ar aghaidh go hiontach, comhghairdeas leis an ngradam i Portalprogramas!

    1.    dhúntóir a dúirt

      Bhí mé ag úsáid sed, awk, cut, sort, uniq, i mbeagán focal an uachtar, ach níor thug mé aird ar ghreamú riamh, buíochas as a thaispeáint cad is féidir leis a dhéanamh. Slds.

  4.   Tabris a dúirt

    comhad cat.txt | xargs

    brabús.

  5.   Cristianhcd a dúirt

    Bím i gcónaí ag úsáid barr feabhais as seo [trasuí] ... an-úsáideach

  6.   Bruno cascio a dúirt

    Leagan eile:

    cat distros.txt | tr «\ n» »«

  7.   Joaquin a dúirt

    HaHaHa i ngach trácht, bealach difriúil leis an rud céanna a dhéanamh!

  8.   Jose GDF a dúirt

    Agus a mhalairt ar fad á dhéanamh, cén chuma a bheadh ​​air? Is é sin, líne focal a thiontú atá scartha le spásanna ina cholún.

    1.    juant a dúirt

      Éasca freisin, an uair seo le awk.
      Ag glacadh leis go bhfuil cluaisíní nó spásanna scartha ó na réimsí, an ceann is coitianta (más camóga nó rud éigin eile é, caithfear é a chur san áireamh agus a chur in iúl), agus go bhfuil sa chomhad anois: archlinux debian ubuntu kaos fedora slackware gentoo

      Ós rud é go dtugann awk dúinn go díreach an réimse atá uainn, ní mór dúinn é a thaispeáint go h-athchleachtach dúinn ceann ar cheann go dtí an deireadh. Tá 7 réimse ann toisc gurb é seo luach NF (Líon na réimsí). Shocraíomar an cuntar i = 1, ionas go dtaispeánann sé an chéad réimse ($ 1) dúinn agus ní mór dúinn é a mhéadú faoi aonad amháin (ag úsáid i ++) gan dul thar an réimse deireanach (NF).

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

      1.    Eitemananki a dúirt

        Is é seo an bealach is praiticiúla, éasca le cuimhneamh agus a oibríonn don dá chiall:
        cat distros.txt | tr '\ n' '' output Aschur cothrománach stdout (Pléadh cheana thuas)
        cat distros.txt | tr '' '\ n' output Aschur stdout ingearach

        Beannachtaí!

    2.    juant a dúirt

      Cinnte tá réiteach Etemenanki, ar an dá bhealach, ceart mura bhfuil suim agat ach claochlú simplí ó shraith go colún agus a mhalairt.

    3.    Jose GDF a dúirt

      Go raibh míle maith agaibh go léir as freagra a thabhairt. Cuirfidh mé i bhfeidhm iad sa chéad script eile a dhéanaim.

      Beannachtaí.

  9.   Gato a dúirt

    Agus mura ndéanann tú ach:
    macalla $ (cat distros.txt)

  10.   Anson rodriguez a dúirt

    Níos éasca fós:
    awk '{printf $ 0 ″ «}' distros.txt