A cut parancs a standard bemeneti adatfolyam szakaszainak vagy az Unix cut segédprogramot használó adatfájlok kivágására szolgál. Ez a GNU Coreutils csomag és a BSD alaprendszer része, ezért alapértelmezés szerint minden Linux és BSD rendszeren elérhető. A Unix vágási parancs lehetővé teszi a szakaszok kivágását bájtpozíciók, karakterek vagy mezők alapján, elválasztva egymástól olyan elválasztóval, mint a ’-’ vagy ’:’ karakter. Útmutatónk gyakorlati bevezetést nyújt a Linux cut parancshoz, jól kidolgozott példák segítségével. Próbálja ki őket a bejegyzés elolvasása mellett, hogy első kézből szerezzen tapasztalatokat.

Példák a Linux Cut Command-ra Unixban

Szakértőink mindent megtettek annak érdekében, hogy ez az útmutató barátságos az új Linux felhasználók számára. Ezenkívül hasznos referenciapontként szolgál majd a tapasztalt felhasználók számára is. Arra biztatjuk az olvasókat, hogy próbálják ki a parancsokat, amikor felfedezik őket. Ezeket a Linux Cut parancsokat bemutatjuk a szabványos bemeneti és egy referenciafájl segítségével is. Itt másolhatja be a fájl tartalmát, és létrehozhatja a rendszerében.

Bemutató célokra használt referenciafájl

A test.txt nevű szöveges fájlt használjuk a házkönyvtárban tartózkodik. A fájl öt sort vagy sort tartalmaz, amelyek mind négy oszlopot tartalmaznak. Minden sor tartalmazza az ország nevét, fővárosát, pénznemét és népességét; mindet elválasztja a határoló kettőspont. Hozza létre ezt a fájlt a rendszerében, és töltse ki az alábbi tartalommal.

A Unix Cut parancsának szintaxisa

A Linux cut parancsnak az alábbi szintaxisa van.

cut OPTION... ...

Ha szöveget akarunk kivágni a bemeneti adatfolyamból, akkor ‘ Használom az echo parancsot, és a (|) kimenetet a cut parancshoz vezetjük. Ugyanez a módszer használható a vágás bemenetének megadásához a macskából.

Szöveg kivágása bájtpozíciók alapján

A cut segédprogram b opciója lehetővé teszi számunkra, hogy egy bájtpozícióik alapján. Ehhez a cut parancsot kell használnunk a -b jelzővel, majd a bájtszámokkal.

1. Csak egy bájtot vágjon a bemeneti adatfolyamból

$ echo "cutting text from input" | cut -b 1

A fenti parancs visszhangozza a “szöveg bevágásból kivágás” karakterláncot a standard kimenetbe, és bemenetként csövezi A cut parancs csak az első bájtot (c) vágja ki ebből a karaktersorozatból, mivel csak 1 volt megadva a -b jelzővel.

2. Vágjon specifikus bájtokat a bemeneti adatfolyamból

$ echo "cutting text from input" | cut -b 1,3

Ez a parancs csak a “szöveg kivágása a bemenetről” karakterlánc első és harmadik bájtját vágja le, és a “ct” -t jeleníti meg kimenet. Próbálkozzon más bájtpozíciókkal.

3. Vágja ki a bájttartományt az input streamből

$ echo "cutting text from input" | cut -b 1-12

A fenti parancs kivágja az 1-12 bájt tartományt a megadott karaktersorozatból, és kinyomtatja a “vágó szöveget” a standard kimenetre. Ha a sztring elfoglaltságán kívül eső bájttartományokat ad meg, akkor a “cut: érvénytelen bájt vagy karaktertartomány” üzenet jelenik meg.

4. Csak egy bájtot vágjon ki a szövegfájlból

$ cut -b 1 test.txt

Ez a parancs csak a test.txt fájlban található öt sor mindegyikének első bájtját jeleníti meg. Ez egyenértékű a $ cat test.txt | cut -b 1 paranccsal

5. Vágjon meghatározott bájtokat a szövegfájlból

$ cut -b 1,3 test.txt

A fenti parancs csak az egyes sorok első és harmadik bájtját vágja le. bármilyen bájtszámot megadhat, amennyiben azok a rendelkezésre álló bájtok tartományába esnek.

6. Vágja ki a bájt tartományt a szövegfájlból

$ cut -b 1-12 test.txt

Ez a parancs a test.txt fájl minden egyes sorának első-tizenkettedik bájtját adja ki. Észre kell vennie, hogy a parancs milyen funkcionalitással rendelkezik a 3. paranccsal.

7. Vágja ki az elsőt 7 bájt betűrendben

$ cut -b 1-7 test.txt | sort

Nyújthatunk a cut parancs kimenete a sort parancs bemeneteként, hogy az egyes sorok első hét bájtját betűrendben jelenítse meg. ABC szerinti rendezéshez a sort parancs nem igényel semmilyen beállítást.

8. Vágja az első 7 bájt fordított sorrendben

$ cut -b 1-7 test.txt | sort -r

Ez a kivágási parancs minden sor első 7 bájtját kivágja, és fordított sorrendben adja ki őket. Nézze meg, hogy a cut parancs kimenete hogyan kerül a pipa segítségével a rendezés parancsba.

9. Vágás az ötödik bájttól a bemeneti adatfolyam végéig

$ echo "cutting text from input" | cut -b 5-

A fenti cut parancs az ötödik bájtból a karakterlánc végéig vágja a szöveget. Ez a parancs hasznos lesz, ha egy meghatározott bájtos pozícióból kell vágnia a bemeneti adatfolyam végéig. Egyszerűen változtassa meg a b jel értékét, miközben a zárójel be van kapcsolva.

10. Vágás az ötödik bájttól a fájl végéig

$ cut -b 5- test.txt

Ez a parancs elkezdi vágni az öt tesztsor mindegyikét.txt az ötödik bájtból, és csak az egyes sorok befejezése után fejezze be. Ehhez a művelethez kötelező a kötőjel (-).

11. Vágjon megadott bájtmennyiséget az elsőtől kezdve

$ echo "cutting text from input" | cut -b -5

Ez a parancs kivágja a bemeneti karakterlánc első öt bájtját. A b jel értékének kicserélésével a kezdő bájtból bármely más bájt pozícióba átvághat. Ne felejtse el hozzáadni az előző kötőjelet (-), különben a kimenet nem a vártnak felel meg.

12. Vágás az első bájtból a fájl meghatározott pozíciójába

$ cut -b -5 test.txt

A fenti parancs csak az egyes sorok első öt bájtját vágja ki a szöveges fájlunkból. Figyelje meg, hogy a kötőjel (-) hogyan használható a lista 9-12 parancsaihoz.

Szöveg kivágása karakterek alapján

A vágás parancs a Unixban lehetővé teszi a felhasználók számára, hogy karakterek alapján kivágjanak egy szövegrészt. Nagy fájlfeldolgozási feladatok kezelésekor ezt elég gyakran kell elvégeznie. Próbálja ki őket, és vegye észre a karakteralapú vágás és a bájt alapú vágás közötti hasonlóságokat.

13. Csak egyetlen karaktert vágjon ki a bemeneti adatfolyamból

$ echo "cutting text from input" | cut -c 1

A fenti parancs kivágja az első karaktert a szabványos bemenetről és megjeleníti a terminálon. Ebben az esetben “c”. Változtassa a karakterláncát valami másra, hogy ezt világosan megértse.

14. Adott karakterek kivágása a bemeneti adatfolyamból

$ echo "cutting text from input" | cut -c 1,3

Ez a parancs csak a beviteli karakterlánc első és harmadik karakterét vágja le és jeleníti meg őket. Megpróbálhat más karaktereket levágni, de ne feledje, hogy ne lépje túl a karakterlánc karakterkorlátját.

15. Karaktertartomány kivágása az input adatfolyamból

$ echo "cutting text from input" | cut -c 1-12

Ennek a parancsnak a esetén a “cut” kivágja az első pozíciótól a tizenkettedik pozícióig terjedő karaktereket. az eredmény “szöveg vágása” lesz. Vegye figyelembe a Linux cut parancs és a harmadik parancs közötti hasonlóságokat.

16. Csak egy karaktert vágjon ki a Text fájlból

$ cut -c 1 test.txt

Ez a parancs a test.txt fájl mind az öt sorának csak az első karakterét jeleníti meg. Ez egyenértékű a $ cat test.txt | cut -c 1 paranccsal, és ugyanazt az eredményt adja ahogyan a bájtjelző használatakor kapnánk.

17. Speciális karakterek kivágása a szövegfájlból

$ cut -c 7,10 test.txt

A fenti parancs csak az öt sor hetedik és tizedik karaktere. Bármely karakterpozíciót megadhat, amennyiben azok az elérhető karakterek tartományába esnek.

18. Karaktertartomány kivágása a szövegfájlba

Ez a parancs a test.txt fájl minden sorának első-tizenkettedik karakterét adja ki. A cut parancs a Unix-ban ugyanúgy viselkedik, ha egy karakter- és bájttartományt vág.

19. Vágja el az első 5 karaktert betűrendben

$ cut -c 1-5 test.txt | sort

A kivágás parancs kimenetét bemenetként megadhatja a rendezési parancsnak az első öt byte kivágásához. minden sort ábécé sorrendben. A rendezés parancs nem igényel semmilyen beállítást az ábécé szerinti rendezésnél.

20. Vágja az első 5 karaktert fordított sorrendben

$ cut -c 1-5 test.txt | sort -r

Ez a kivágási parancs minden sor első öt karakterét kivágja, és fordított rendezés után megmutatja őket. Nézze meg, hogy a cut parancs kimenete hogyan kerül a rendezés parancsba egy cső segítségével.

21. Vágás az ötödik karaktertől a bemeneti adatfolyam végéig

$ echo "cutting text from input" | cut -c 5-

A fenti cut parancs az ötödik bájttól a karaktersorozat végéig vágja a szöveget . Hasznos lehet, ha egy meghatározott karakterpozícióból kell vágnia a bemeneti adatfolyam végéig. Egyszerűen változtassa meg az értéket b után, miközben a zárójel be van kapcsolva.

22. Vágás az ötödik karaktertől a fájl végéig

$ cut -c 5- test.txt

Ez a parancs elkezdi kivágni a test.txt fájl öt sorának ötödik karakterét pozícióba kerül, és minden sor végére eljut. A zárójel (-) kötelező az ilyen műveletekhez.

23. Vágjon meg egy megadott számú karaktert az első pozíciótól kezdve

$ echo "cutting text from input" | cut -c -5

Ez a parancs csak bemenetünk első öt karakterpozícióját vágja le. Vághat a kezdő karakterről bármely más karakter pozícióra, ha csak a -c értéket helyettesíti. Ne felejtse el hozzáadni az előző kötőjelet (-), különben a kimenet nem ugyanaz, mint amire számított.

24. Kivágás az első karakterből a fájl meghatározott pozíciójába

$ cut -c -5 test.txt

Ez a Unix-os vágásparancs kivágja a fájl teszt minden egyes sorának első öt karakterét. txt. Figyelje meg, hogy a kötőjel (-) hogyan használható a lista 21-24 parancsaihoz.

Szöveg kivágása oszlopokból mezők és elválasztók használatával

A cut parancs lehetővé teszi a felhasználók számára, hogy a szöveg szakaszait nagyon könnyen. Ehhez a d és az f zászlót is használnunk kell. A d zászló határolókat, az f mezőket jelöl. Az elválasztók speciális karakterek, amelyek elválasztják a szöveg egy részét másoktól. Gyakori példák: ‘-’, ’:’ és ’” (szóköz). Az általunk használt referenciafájl ‘:’ elválasztó.

25. Vágja le az Input Stream első szakaszát

$ echo "Let"s cut this input stream section by section" | cut -d " " -f 1

A fenti cut parancs kivágja a szöveg első szakaszát (ebben az esetben a „Let’s” -t) a bemeneti adatfolyamból. Ne feledje, hogy a -d elválasztó jelző értéke egyetlen szóköz. Próbálja ki kettősponttal elválasztott szöveggel, és nézze meg, mi történik magának.

26. Vágja ki a fájl első szakaszát

$ cut -d ":" -f 1 test.txt

Ez a parancs visszaadja a referenciafájlunk belsejében lévő minden egyes sor első oszlopát, és kinyomtatja mind az öt ország nevét. A határoló zászlóhoz megadott érték kettőspont volt, mert így választja el a fájlunk az oszlopokat.

27. Vágja le az Input Stream adott szakaszait

$ echo "Let"s cut this input stream section by section" | cut -d " " -f 1,2,3

Itt utasítottuk a cut-ot, hogy csak a az adott bemeneti karakterlánc első három mezője. Ez vesszővel elválasztott mezőhely-tömb felhasználásával történik. A parancs kimenete ‘Vágjuk ezt’ lesz.

28. Vágja le a Fájl

$ cut -d ":" -f 1,2,3 test.txt

Ez a társ Az mmand ugyanazt a kimenetet fogja nyújtani, mint az előző parancs. Itt a cut csak egy fájlon dolgozik a standard bemenet helyett, ennyi. A listán fel kell tüntetni az egyes országok nevét, fővárosát és pénznemét. Ne feledje azonban a különbséget a határolóik között (szóköz és kettőspont).

29. Vágja el a mezők tartományát a bemeneti adatfolyamból

$ echo "Let"s cut this input stream section by section" | cut -d " " -f 1-5

A fenti parancs kivágja a karakterlánc első öt mezőjét, és megjeleníti azt a terminálon. Az aposztrófokra akkor van szükség, ha a mezőt elválasztják a több mező közötti határolótól.

30. Mezőterület kivágása egy fájlból

$ cut -d ":" -f 1-3 test.txt

Ez a kivágási parancs kivágja a szövegfájlunk első három oszlopát, és kimenetként jeleníti meg. Ugyanazt az eredményt kell megjelenítenie, mint amelyet az előzőt megelőző parancs adott. Az aposztrófok nem kötelezőek az olyan karaktereknél, mint – vagy:.

31. Kivágja az egyes bejegyzéseket egy adott mezőből, és betűrendben sorolja fel őket

$ cut -d ":" -f 1 test.txt | awk "{print $1}" | sort

Tegyük fel, hogy ábécé sorrendben meg kell találnia a listánkban szereplő öt ország nevét. felhasználhatja a fenti parancsot erre. Abc sorrendben sorolja fel az országokat. Az f flag értékének helyettesítésével ezt más mezőkön is megteheti.

32. Vágjon minden bejegyzést egy mezőből, és sorolja fel betűrendben fordított sorrendben

$ cut -d ":" -f 1 test.txt | awk "{print $1}" | sort -r

Ez a parancs ugyanazt a műveletet hajtja végre, mint a fenti, csak a bejegyzéseket fordítva rendezi mód, ennyi. A kimenet itt megváltozik a rendezéshez átadott -r jelző miatt.

33. Vágás egy fix mezőből a bemeneti adatfolyam végéig

$ echo "Let"s cut this input stream section by section" | cut -d " " -f 2-

Ez a vágási parancs a második mezőtől a karakterlánc végéig kezd vágni. Hasznos lehet, ha egy meghatározott pozícióból kell vágnia a bemenet végéig. Megváltoztathatja az -f értékét, miközben a zárójel be van kapcsolva a különböző mezőkből történő vágáshoz.

34. Vágás egy rögzített mezőből a fájl végéig

$ cut -d ":" -f 2- test.txt

Ilyen használat esetén a cut parancs a megadott mezőből kezd vágni és a végéig tart az egyes sorokból. Ebben az esetben kinyomtatja a lista öt országának tőkéjét, pénznemét és népességét.

35. Kivágott megadott oszlopok száma az elsőtől kezdve

$ echo "Let"s cut this input stream section by section" | cut -d " " -f -5

Ez a parancs csak az adott bemenet első öt mezőjét vágja le. Kivághat a kezdő oszlopból bármely más oszlop pozícióba, ha csak behelyettesíti az -f értéket. Hozzá kell adnia azonban az előző kötőjelet (-), különben a kimenet nem fog megfelelni az elvárásoknak.

36. Vágjon egy fájl meghatározott oszlopát az elsőtől kezdve

$ cut -d ":" -f -2 test.txt

Ez a Linux cut parancs elkezdi kivágni a test.txt fájlt az első oszlopból, és azután befejeződik befejezte a második parancs levágását. Tehát ennek a parancsnak a kimenete egyszerűen megjeleníti az egyes országok és azok fővárosainak nevét.

37. A CSV-fájlok több mezőjének kivágása

$ cut -d "," -f 1,2 file.csv

A cut parancs gyakran életképes eszköznek bizonyul, ha masszív CSV-dokumentumokkal dolgozik. A fenti parancs például elvágja a vesszővel elválasztott CSV-fájl fájl.csv nevű első két oszlopát.

38.Vágja le a CSV-fájlok meghatározott mezőit és válogassa őket fordított sorrendben

$ cut -d "," -f 1,3,5 file.csv | sort -r

A fenti parancs a vesszővel elválasztott CSV első, harmadik és ötödik oszlopát vágja le a file.csv nevű fájlt, és fordított sorrendben jeleníti meg a kimenetet.

Néhány egyéb Linux Cut parancs szakértőknek

A cut parancs felhasználható a fejlett fájlfeldolgozáshoz, megfelelő alkalmazással. szűrők és más robusztus Linux parancsok. Az alábbiakban áttekintünk néhány olyan parancsot, amelyek hosszú távon hasznára válhatnak.

39. Ellenőrizze a passwd fájlt a Vágás parancs használatával

$ cut -d ":" -f1 /etc/passwd

A legtöbb rendszerben / etc-ben tárolt passwd fájl nagyon érzékeny információkat tartalmaz a rendszerről és a felhasználókról. Gyorsan ellenőrizheti ezt a fájlt a cut paranccsal. A ‘:’ elválasztót használjuk, mivel ennek a fájlnak az oszlopai elválasztásra kerülnek. Változtassa meg az -f értékét a különböző mezők megfigyeléséhez.

40. Specifikus mezők kivágása és csak az egyedi bejegyzések megjelenítése

$ cut -d ":" -f 3 test.txt | uniq -u

Ez a Linuxon levágott parancs kivágja a test.txt fájl harmadik oszlopát, és csak az egyedi bejegyzéseket jeleníti meg . Tehát ennél a fájlnál a kimenet csak három pénznemet fog tartalmazni – nevezetesen Euro, Lira és Jen.

41. A bemeneti adatfolyam összes bájtjának kivágása, kivéve a megadottakat

$ echo "Let"s cut this input stream section by section" | cut -b 1,3,5,7 --complement

Ez a cut parancs kivágja az adott bemeneti karakterlánc összes karakterét, kivéve a -b-be szállítottakat. Tehát az első, harmadik, ötödik és hetedik bájt pozíciók kihagyásra kerülnek a kimenetből.

42. A fájl összes bájtjának kivágása a megadottak kivételével

$ cut -b 2,4,6 test.txt --complement

Ilyen módon a cut parancs kivágja a test.txt fájl összes bájtját, kivéve a parancsban említett. Így a kimenet nem tartalmazza az egyes sorok második, negyedik és hatodik bájtját.

43. A bemeneti adatfolyam összes karakterének kivágása a megadottak kivételével

$ echo "Let"s cut this input stream section by section" | cut -c 1,3,5,7 --complement

Ez a parancs tartózkodik a bemeneti karakterlánc első, harmadik, ötödik és hetedik karakterének vágásától, és ehelyett kivágja az összes többi karaktert, kivéve ezt a négyet.

44. A fájl összes karakterének kivágása a megadottak kivételével

$ cut -c 2,4,6 test.txt --complement

Ennek a parancsnak a esetén a kimenet a test.txt fájl összes karakterét tartalmazza, kivéve azokat említett. Tehát a második, negyedik és hatodik karakter nem jelenik meg.

45. Az összes beviteli szakasz kivágása, kivéve a megadottakat

$ echo "Let"s cut this input stream section by section" | cut -d " " -f 1,3,5 --complement

A fenti parancs kiadja a “bemenet szakaszonként vágása” karakterláncot. Tehát az összes beviteli részt megjeleníti a mezőjelző után említettek nélkül.

46. A fájl összes oszlopának kivágása, kivéve a megadottakat

$ cut -d ":" -f 2,3 test.txt --complement

Ez a parancs csak a test.txt fájl első és utolsó oszlopát vágja le. Tehát könnyedén törölheti egyes mezők kijelölését, ha nagy táblázatos dokumentumokat dolgoz fel a komplement jelző használatával.

47. Vágjon egy bemeneti részt és fordítsa őket karakter szerint

$ echo "Let"s cut this input stream section by section" | rev | cut -d " " -f 1,3

A fenti Linux parancs kivágja a bemenet első és harmadik szakaszát, és karakteresen megfordítja őket. Figyelje meg, hogyan táplálják az egyik parancs kimenetét más parancsok bemeneteként.

48. Specifikus oszlopok kivágása a fájlban és karakteres megfordítása

$ cut -d ":" -f 1,3 test.txt | rev

Ez a parancs csak a test.txt fájl megadott mezőit vágja le, és az eredményt karakter szerint jeleníti meg fordított módon.

49. A Kivágás parancs kimenethatárolójának módosítása

$ echo "A,comma,separated,list,for,demonstration,purposes" | cut -d "," -f 1- --output-delimiter=" "

A kivágás lehetővé teszi, hogy az eredmény megjelenítésekor módosítsuk a kimenethatárolót. A fenti parancs kivágja a vesszővel elválasztott lista összes szakaszát, de az eredmény megjelenítésekor a vesszőket szóközökkel helyettesíti.

50. Példa a Cut + Sed parancsra a tabulátorelválasztóval

$ sed "s/:/\t/g" test.txt | cut -f 1-4

Listánk utolsó cut parancsa a hatalmas, hatékony sed segédprogramot használja a fájl kettőspontjainak tabulátorokra cserélésére . A \ t helyettesíthető néhány más karakterrel, például – vagy; az Ön által választott kimeneti határolóra váltáshoz.

Gondolatok befejezése

A vágási parancs a Unixban sokoldalú eszköz, amely számos előnyt segíthet azoknak a felhasználóknak, akiknek gyakran kell nagy fájlokat feldolgozniuk. Vázoltuk az 50 legjobb Linux cut parancsot, amelyek segítenek megismerkedni ezzel a fantasztikus segédprogrammal. Ki kell próbálni őket egyenként, és módosítani kell a rendelkezésre álló opciókat. Ez segít megérteni a cut parancs különféle variációit. Remélhetőleg sikeresen törekedtünk arra, hogy minél többet segítsünk Önnek. Tartson velünk, ha további hasznos útmutatásokat szeretne találni a hasznos Linux-parancsokról.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük