Vágás parancs Linux alatt

A Linux és Unix rendszerekben számos segédprogram áll rendelkezésre, amelyek lehetővé teszik a szöveges fájlok feldolgozását és szűrését. A cut egy parancssori segédprogram, amely lehetővé teszi a vonalak egy részének kivágását meghatározott fájlokból vagy csövezett adatokból, és az eredmény kinyomtatását szabványos kimenetre. Használható egy vonal részeinek elválasztására elválasztó, bájt pozíció és karakter szerint.

Ebben a cikkben megmutatjuk, hogyan kell használni a cut parancs gyakorlati példákon és a leggyakoribb lehetőségek részletes magyarázatán keresztül.

A cut parancs használata #

A cut szintaxisa parancs a következő:

Azok a beállítások, amelyek megadják a cut használatát elválasztó, bájt pozíció vagy karakter a kijelölt részek kivágásakor a következőek:

A fent felsorolt opciók közül egyet használhat, és csak egyet.

További lehetőségek: :

  • -d (--delimiter) – Adjon meg egy elválasztót, amelyet az alapértelmezett helyett használni fog ” TAB ”elválasztó.
  • --complement – Kiegészíti a választást. Ennek az opciónak a használatakor cut megjeleníti az összes bájtot, karaktert, vagy mezők, kivéve a se bekapcsolva.
  • -s (--only-delimited) – Alapértelmezés szerint cut kinyomtatja azokat a vonalakat, amelyek nem tartalmaznak elválasztó karaktert. Ha ezt a beállítást használja, a cut nem nyomtat elválasztókat nem tartalmazó sorokat.
  • --output-delimiter – Az alapértelmezett viselkedés a cut jelentése az, hogy a bemeneti határolót használja a kimenet határolójaként. Ez az opció lehetővé teszi egy másik kimeneti határoló karakterlánc megadását.

A cut parancs nulla vagy több bemeneti FÁJL nevet képes elfogadni. Ha nincs megadva FILE, vagy ha FILE -, cut a standard bemenetből fog olvasni.

A LIST argumentum át lett adva a -f , -b és -c opciók lehetnek egész szám, vesszővel elválasztott több egész szám, vesszőkkel elválasztott egész szám vagy több egész tartomány . Mindegyik tartomány a következő lehet:

  • N az N-edik mező, bájt vagy karakter, 1-től kezdődően.
  • N- az N. mezőtől, bájttól vagy karaktertől a sor végéig.
  • N-M az N-től az Mth mezőhöz, bájthoz vagy karakterhez.
  • -M az elsőtől az Mth mezőig, bájtig vagy karakterig.

Kivágás # mező szerint

A kivágandó mezők megadásához hívja meg a parancsot a -f opcióval. Ha nincs megadva, akkor az alapértelmezett határoló a “TAB”.

Az alábbi példákban a következő fájlt fogjuk használni. A mezőket fülekkel kell elválasztani.

test.txt

Például az 1. és a 3. mező használatához:

Vagy ha az 1. és a 4. mező között szeretne megjeleníteni:

Hogyan kell vágni egy elválasztó alapján #

Ha egy elválasztó alapján szeretne vágni, hívja meg a parancsot a -d opciót, majd a használni kívánt elválasztót.

Például az 1. és a 3. mező megjelenítéséhez a “:” használatával határolóként a következőt írja be:

Bármelyik karakter használható elválasztóként. A következő példában a szóköz karaktert használjuk elválasztóként, és kinyomtatjuk a 2. mezőt:

Hogyan egészítsük ki a kijelölést #

A kiválasztási mezőlista kiegészítéséhez használja a --complement beállítást. Ez csak azokat a mezőket fogja kinyomtatni, amelyek nincsenek kiválasztva a -f opcióval.

A következő parancs az 1. és a 3. kivételével az összes mezőt kinyomtatja:

Kimeneti határoló megadása #

A kimenethatároló megadásához használja a --output-delimiter opciót. Például, ha a kimeneti határolót _ -re állítja, akkor a következőket kell használnia: / div>

Hogyan lehet kivágni bájtok és karakterek szerint #

Mielőtt továbblépnénk, különböztessük meg a bájtokat és a karaktereket.

Egy bájt 8 bites, és képviselheti 256 különböző érték. Az ASCII szabvány létrehozásakor figyelembe vette az angol nyelv használatához szükséges összes betűt, számot és szimbólumot. Az ASCII karaktertábla 128 karakterből áll, és minden karaktert egy bájt képvisel.Amikor a számítógépek globálisan hozzáférhetővé váltak, a technológiai vállalatok új karakterkódolásokat kezdtek bevezetni a különböző nyelvek számára. A 256 karakternél hosszabb nyelvek esetében az egyszerű 1: 1 leképezés nem volt lehetséges. Ez különböző problémákhoz vezet, például a dokumentumok megosztásához vagy a weboldalak böngészéséhez, és szükség volt egy új Unicode szabványra, amely képes kezelni a világ legtöbb írórendszerét. Az UTF-8 ezen problémák megoldására jött létre. Az UTF-8 nem minden karaktert ábrázol 1 bájttal. A karaktereket 1 bájt és 4 bájt között lehet ábrázolni.

A -b (--bytes) opció megadja a parancsnak, hogy metszeteket vág le minden sorból a megadott bájtpozíciók szerint.

A következő példákban a ü karaktert használjuk, amely 2 bájtot vesz igénybe. p> Válassza ki az 5. bájtot:

Válassza ki az 5., 9. és 13. bájtot:

Válassza ki az 1. és 5. bájt közötti tartományt:

A cikk írásakor a cut GNU coreutils csomagban található verziójának nincs egy lehetőség a karakterek szerinti kivágásra. A -c opció használatakor a cut ugyanúgy viselkedik, mint a -b opció használatakor.

Példák kivágása #

A cut parancsot általában más parancsokkal együtt használják piping útján. Íme néhány példa:

Az összes felhasználó listájának lekérése #

A getent passwd parancs kimenete átkerül a cut, amely kinyomtatja az 1. mezőt, a : elemet használva elválasztóként. A kimenet az összes rendszerfelhasználó listáját mutatja.

10 leggyakrabban használt parancs megtekintése #

A következő példában a cut az első 8 bájt levonása a history parancs minden egyes sorából.

Következtetés #

cut paranccsal kijelölt mezőket jeleníthetünk meg az adott fájlok minden sorából vagy a szokásos bemenetből.

Bár nagyon hasznos, tartalmaz néhány korlátozást. Nem támogatja egynél több karakter megadását elválasztóként és nem támogatja több elválasztót.

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