A Linux `cut` parancs az egyik hasznos parancs a string adatokkal és a fájlok tartalmával való együttműködésre. Főleg tartalom kivágására szolgál táblázatos adatokból vagy CSV fájlokból. A fájl minden sora feldarabolható, és a szükséges adatok könnyen lekérhetők a `cut` paranccsal. Használható a szöveg elválasztására elválasztó, karakter vagy bájt pozíció szerint is. Ennek a parancsnak számos lehetősége van az adatok különböző módon történő kivágására a szövegből vagy a fájlból. Az oktatóanyag különféle példák segítségével mutatja be, hogy a cut parancs hogyan használható különféle opciókkal.
Szintaxis:
Az OPTION érték használata kötelező a `cut` parancshoz, a FILE név pedig opcionális. Ha kihagyja a fájl nevét a parancsban, akkor az adatokat a szokásos bemenetből veszi. De ha kihagyja az OPTION értéket a cut parancsban, az generálja a hibát.
Beállítások:
Opciócímke | Leírás |
-b vagy –byte = LIST | Válassza ki az adott bájtokat. |
-c vagy –character = LIST | Válassza ki az adott karaktereket. |
-d vagy –delimiter = DELIM | Válassza ki a DELIM értéket elválasztóként. Alapértelmezés szerint a határoló a TAB. |
-f vagy –fields = LIST | Válassza ki az adott mezőket |
–komment | Használja a kiegészítéshez a kimenet |
-s vagy –csak elhatárolt | hagyja ki a sorok, amelyek nem tartalmaznak elválasztót. |
–output-delimiter = STRING | A STRING érték használata kimeneti elválasztóként. |
-z vagy –zulla végű | Használja a NULL vonalhatárolóként. |
1. példa : Kivágás byte-okkal
A következő cut parancs a szabványos bemeneti adatokat a meghatározott bájtok alapján szeleteli. A 3,4,5 és a 6 itt bájt. A kimenet a standard bemenet alapján fog generálni. A parancsból való kilépéshez nyomja meg a CTRL + D billentyűkombinációt.
Kimenet:
Itt a bemenet “tetszik programozni”, a kimenet pedig “tetszik” az említett bájtok alapján.
Hozzon létre egy “productlist.txt” nevű szövegfájlt a következő tartalommal a “cut” parancs alkalmazásához. A TAB segítségével válassza ki a fájl tartalmának mezőit. d3a4001187 “>
02 Ceruza $ 1,5
03 Eraser $ 1
Futtassa a következő parancsot, hogy csak a termék azonosítója. Itt a bájtokat “1-2” tartományban adják meg az adatok kivágásához.
Kimenet:
2. példa: Karakterek szerint kivágva
Ugyanazt a kimenetet létrehozhatja a -c kapcsolóval, amelyek az előző példákban láthatók. Tehát nincs különösebb különbség a -b és a kimenet között – c parancsok a cut parancsra. Futtassa a következő parancsot a -c használatának bemutatásához. Itt a 4- opcióértékként szolgál, amely a 4. pozíciótól az egyes sorok összes többi karakteréig elvágódik. Használhatja a -4 érték előtti negatív előjelet is, akkor az elejétől 4 pozícióig vág.
Kimenet:
Az első három karakter kihagyásra kerül a kimenetben.
3. példa: Vágás elválasztóval és mezőkkel
Hozzon létre egy „students.csv” nevű CSV fájlt a következő tartalommal az elválasztó használatának bemutatásához.
1004, Momotaj Khan, angol, 3.20
Futtassa az alábbi parancsot, hogy kinyomtassa a hallgató nevét és CGPA-ját a students.csv fájlból. A fájl tartalma szerint a 2. és a 4. mező a hallgató nevét és a CGPA-t tartalmazza. Tehát ebben a parancsban két opciót használunk a kimenet megjelenítésére. Az egyik a, -d elválasztó, ami itt ‘,’, a másik pedig a -f mező mező.
Kimenet:
Ha szeretné nyomtasson két vagy több egymás után következő oszlopot bármely táblázatos adatból vagy CSV-fájlból, akkor meghatározhatja a mezőket tartományként. A mező értéktartományát a következő parancs használja. Itt a 2-től 4-ig terjedő összes mező kinyomtatásra kerül.
Kimenet:
4-es példa: Kivágás kiegészítéssel
–komplexum opció a parancs ellentétes kimenetének létrehozására szolgál . A következő parancsban az első példában létrehozott productlist.txt fájlt használják. Itt a -f opció kivágja az első mezőt, a –-complement pedig a fájl összes többi mezőjét kinyomtatja az első mező kihagyásával.
$ cut –complement -f 1 productlist.txt
Kimenet:
5. példa: Kivágás output-határolóval
Ez az opció a kimenet létrehozására szolgál egy adott elválasztó használatával. A korábban létrehozott students.csv fájlt a következő parancs használja. A ‘,’ bármely CSV-fájl alapértelmezett elválasztója. A következő parancs a ‘:’ parancsot használja kimeneti határoló értékként.
$ cut -d “,” -f 1- 3 students.csv –output-delimiter = “:”
Kimenet:
A parancs végrehajtása után a ‘,’ bemeneti határoló helyére a kimenet határolója kerül. ‘:’ és az első három mező kinyomtatásra kerül a ‘:’ elválasztásával.
6-os példa: Vágás használata pipe parancs
A Cut parancs bármilyen fájlból vagy a felhasználói bemenetből vehet be bemenetet. De a bevitt szöveget el lehet küldeni a cut parancsra a pipe használatával. Az alábbi parancs bemutatja a cut parancs használatát a csővel. Itt az echo parancs a beviteli szöveget vágja le a parancsra, és a cut parancs kivágja a 2. és 3. mezőt az elválasztó alapján.
Kimenet:
Példa -7: A cut parancs kimenetének mentése fájlba
Ha akarja, akkor a cut parancs kimenetét bármilyen szöveges fájlba is elmentheti. A következő parancs bevezeti a students.csv fájl tartalmát, kivágja a 2. mezőt az elválasztó alapján, és kinyomtatja a kimenetet egy „student_names.txt” nevű szövegfájlba.
Output:
Következtetés:
A cut parancs leggyakoribb felhasználási módjait a fentiek segítségével próbálják megmagyarázni ebben az oktatóanyagban. példák. Remélem, a cut parancs használatát a fenti példák végrehajtása után törlik az olvasók.