Linux biztosítja a cut
parancsot a szakaszok eltávolítására a Bash minden kimeneti sorából. cut
parancs egy mechanizmust, hogy kiszűrje kivonat oszlop / szöveg egy fájlból vagy szabványos kimenet. Részletes példák az alábbiakban találhatók., fruits.txt
apple 1 good grape 5 bad banana 2 not bad
cut OPTION... ...
válassza ki az oszlopot
cut parancs lehetővé teszi egy megadott oszlop kiválasztását az összes sor karakterszáma szerint. Itt kinyomtatjuk az összes sort 3 karakter soronként a konzolra. Ez csak egyetlen karaktert nyomtat.,
$ cut -c3 fruits.txt
válasszon oszlopot a
az előző példában egyetlen karaktert nyomtattunk a terminálra. Több karaktert is kinyomtathatunk a konzolra az alábbi karaktertartomány megadásával. Láthatjuk, hogy a karakterindex 1-kor kezdődik.,
$ cut -c1-6 fruits.txt
kiválaszt Oszlop Segítségével Start Pozíció
egy Másik hasznos funkció a vágás megadása csak a kezdőpontra fel, hogy vége.
$ cut -c3- fruits.txt
válassza ki az oszlopot a Végpozíció segítségével
mi lehet nyomtatni tartomány elejétől a megadott pozícióba csak meghatározó véghelyzetben., Ez 1
válasszon egyetlen mezőt
a mező a szöveg egy része, amelyet meghatározott karakterekkel határolnak, például szóköz, fül, kettős vessző stb. Kiválaszthatjuk a szöveget mező számokkal. Alapértelmezés szerint a mező határolója a tab. A szöveg már biztosított lap elhatárolása. Ebben a példában kiválasztjuk a 3-at. mező.,
$ cut -f3 fruits.txt
Válasszon több mezőt
a karakterekben megadhatjuk a mezőtartományt is. A következő paranccsal választjuk ki a gyümölcsneveket és számításokat.
$ cut -f1-2 fruits.txt
a következő példa egynél több mezőt választ ki, nem a tartományok használatával.,
$ cut -f1,2,3 fruits.txt
Last field
a cut
egyik legnépszerűbb felhasználási területe az utolsó mező nyomtatása. A probléma az, hogy a mezőszám szöveg szerint változhat, az utolsó mezőt csak a cut
paranccsal tudjuk megadni. A következő példa a rev
parancsot használja az utolsó mező eléréséhez.,
$ cat fruits.txt | rev | cut -f1 | rev
Select mezők megadott karakterekkel
alapértelmezett cut
nem képesek kizárni a sorokat karakterek szerint, de a grep
könnyen használható ennek a funkciónak a megvalósításához., Csak a app
$ grep "app" fruits.txt | cut -f1-2
válassza ki a mezőket, kivéve a megadott karaktereket
megfordíthatjuk az előző példát, és eltávolíthatjuk a nem kívánt sorokat. Eltávolítjuk a app
sorokat, majd oszlopokat nyomtatunk 1-től 2-ig .,
$ grep -v "app" fruits.txt | cut -f1-2
adja meg a Delimiter
a határoló a mezők megosztására szolgál. Alapértelmezés szerint a lapot határolóként használják. De meg lehet adni a -d
opcióval, mint az alábbiakban. A példát követve a :
határolóként használjuk, mert a passwd
fájl használja. Akkor csak az 1. mezőben található felhasználóneveket szeretnénk megmutatni.,
$ cut -d: -f1 /etc/passwd
Print kivéve mezők
ahogy korábban láttuk mezők lehet nyomtatni tartományok is. A mezők kivételével nyomtathatunk is. Ez kinyomtatja az összes átnevezési mezőt. A példát követve az összes mezőt ki tudjuk nyomtatni, kivéve a 2.
Change határoló
a szöveg alapértelmezés szerint határolókkal rendelkezik. Bizonyos helyzetekben érdemes lehet változtatni határoló nyomtatás közben a konzolra., --output-delimiter
option can be used for this operation. The following example will change the tab delimiter to the comma.
$ cut -f1,2,3 --output-delimiter="," fruits.txt