Tegyük fel, hogy van egy szöveges fájlunk distros.txt a következőkkel:
archlinux
debian
ubuntu
káosz
fedora
slackware
gentoo
És ezt szeretnénk átalakítani:
archlinux debian ubuntu, mint a fedora slackware gentoo
Ennek elérésére a hurokhoz és egy visszhang -n :
for i in `< distros.txt`; do echo -n ${i}" ";done; echo ""
Kész, ez megteszi a trükköt 🙂
Ez megmutatja nekünk a kívánt eredményt a terminálban, ha viszont azt akarjuk, hogy egy másik .txt fájlba mentse, akkor átirányítjuk a kimenetet:
for i in `< distros.txt`; do echo -n ${i}" ";done; echo "" > distros-nuevas.txt
És voila 🙂
Nos, semmi, remélem, hasznosnak találja. Érvényes annak tisztázására, hogy rendszeres kifejezésekkel is meg lehet csinálni, csak nem tudom, hogyan ... de a reguláris kifejezésekkel szinte mindent megtehetsz hahaha.
15 hozzászólás, hagyd a tiedet
könnyebb:
macska distros.txt | xargs -n 100
Ha egy .odt fájlban minden oldalon van 2 oszlop, akkor így olvasnak:
1. o
1. oszlop 2. oszlop
2. o
3. oszlop 4. oszlop
elvisszük helyi falvakba ahol megismerkedhet az őslakosok kultúrájával; ...
Hogyan kerülhetek az egyes oszlopok a másik alá?
1. oszlop
2. oszlop
3. oszlop
4. oszlop
elvisszük helyi falvakba ahol megismerkedhet az őslakosok kultúrájával; ...
Sokkal könnyebb:
Ha fülekkel akarja elválasztani:
Azt írod: paste -s distros.txt
Kapsz: archlinux debian ubuntu kaos fedora slackware gentoo
Ha szóközökkel szeretné elválasztani:
Azt írod: paste -s -d »» distros.txt
Kapsz: archlinux debian ubuntu kaos fedora slackware gentoo
Ha vesszővel szeretné elválasztani:
Azt írja: beilleszt -s -s -d, distros.txt
Kapsz: archlinux, debian, ubuntu, kaos, fedora, slackware, gentoo
A paszta, a macska, az awk és más barátok segítségével egy kis találékonysággal sok hasznos kombinációt készíthet anélkül, hogy bonyolítaná az életét.
Hadd folytatódjon minden remekül, gratulálok a Portalprogramas-díjhoz!
Röviden a krémet használtam sed, awk, cut, sort, uniq, de soha nem figyeltem a pasztára, köszönöm, hogy megmutattam, mire képes. Slds.
macska fájl.txt | xargs
nyereség.
Mindig az excelt használom erre az [átültetésre] ... nagyon hasznos
Egy másik változat:
macska distros.txt | tr «\ n» »«
HaHaHa minden megjegyzésben, ugyanúgy más módon!
És az ellenkezőjét téve, milyen lenne? Vagyis a szóközökkel elválasztott szavak sorának oszlopká alakítása.
Könnyű is, ezúttal awk-val.
Feltéve, hogy a mezőket tabulátorokkal vagy szóközökkel választják el, ami a leggyakoribb (ha vesszővel vagy valami mással kell, ezt figyelembe kell venni és meg kell jelölni), és hogy a fájl most tartalmazza: archlinux debian ubuntu kaos fedora slackware gentoo
Mivel az awk közvetlenül megadja nekünk a kívánt mezőt, meg kell tennünk, hogy iteratívan megmutassa számunkra a végéig. 7 mező van, mert ez az NF (mezők száma) értéke. Az i = 1 számlálót úgy állítottuk be, hogy az megmutassa az első mezőt ($ 1), és el kell érnünk, hogy egy egységgel növekedjen (az i ++ használatával) anélkül, hogy túllépnénk az utolsó mezőt (NF).
awk '{for (i = 1; i <= NF; i ++) {print $ i}}' distros.txt
A legpraktikusabb, könnyen megjegyezhető és mindkét érzék számára megfelelő módszer:
macska distros.txt | tr '\ n' '' ← Vízszintes szabványos kimenet (már fentebb tárgyaltuk)
macska distros.txt | tr '' '\ n' ← Függőleges szabványos kimenet
Üdvözlet!
Mindenképpen jó az Etemenanki megoldása, ha csak egyszerű átalakítást szeretne sorról oszlopra és fordítva.
Köszönöm mindenkinek, hogy válaszolt. A következő forgatókönyvben gyakorlatba ültetem őket.
Üdvözlet.
És ha csak:
echo $ (macska distros.txt)
Még könnyebb:
awk '{printf $ 0 ″ «}' distros.txt