10 käytännön esimerkkiä Linux Cut -komennoista tiedostosarakkeiden valitsemiseksi
Linux-komentojen leikkausta käytetään tekstinkäsittelyyn. Tämän komennon avulla voit purkaa osan tekstistä tiedostosta valitsemalla sarakkeita.
Tässä opetusohjelmassa on muutama käytännön esimerkki leikkauskomennosta, jota voit käyttää päivittäisissä komentorivitoiminnoissa.
Suurimmasta osasta esimerkkiä käytämme seuraavaa testitiedostoa.
$ cat test.txtcat command for file oriented operations.cp command for copy files or directories.ls command to list out files and directories with its attributes.
Valitse merkkien sarake
Jos haluat purkaa vain halutun sarakkeen tiedostosta, käytä -c-vaihtoehtoa. Seuraava esimerkki näyttää tiedoston 2. testimerkin test.txt jokaisesta rivistä.
$ cut -c2 test.txtaps
Kuten yllä nähtiin, merkit a, p, s ovat toinen merkki jokainen test.txt-tiedoston rivi.
Valitse merkkien sarake käyttämällä aluetta
Merkkialue voidaan myös purkaa tiedostosta määrittämällä alku- ja loppupiste erotettuna -. Seuraava esimerkki poimi jokaisen rivin 3 ensimmäistä merkkiä tiedostosta nimeltä test.txt
$ cut -c1-3 test.txtcatcpls
Valitse merkkien sarake joko alku- tai loppupisteellä
Joko alku- tai loppuasento voidaan siirtää leikkauskomennolle -c-vaihtoehdolla.
Seuraavassa määritetään vain alkupiste ennen ’-’. Tämä esimerkki otteesta test.txt-tiedoston kunkin merkin kolmannesta merkistä kunkin rivin loppuun.
$ cut -c3- test.txtt command for file oriented operations. command for copy files or directories. command to list out files and directories with its attributes.
Seuraava määrittelee vain loppupisteen merkin ‘-’ jälkeen. Tämä esimerkki poimi 8 merkkiä test.txt-tiedoston jokaisen rivin alusta.
$ cut -c-8 test.txtcat commcp commals comma
Koko rivi tulostetaan, kun et määritä numeroa ennen tai jälkeen ”-”, kuten alla on esitetty.
$ cut -c- test.txtcat command for file oriented operations.cp command for copy files or directories.ls command to list out files and directories with its attributes.
Valitse tietty kenttä tiedostosta
Sen sijaan, että valitset x merkkiä, jos haluat purkaa kokonaisen kentän, voit yhdistää vaihtoehdot -f ja -d. Vaihtoehto -f määrittää kentän, jonka haluat purkaa, ja vaihtoehto -d määrittää, mikä on kentän erotin, jota syötetiedostossa käytetään.
Seuraava esimerkki näyttää vain kunkin rivin ensimmäisen kentän / etc / passwd-tiedosto käyttämällä kentän erotinta: (kaksoispiste). Tässä tapauksessa 1. kenttä on käyttäjänimi. Tiedosto
$ cut -d":" -f1 /etc/passwdrootdaemonbinsyssyncgamesbala
Valitse useita kenttiä tiedostosta
Voit myös purkaa useamman kuin yhden kentän tiedostosta tai vakiotiedostosta. Alla olevassa esimerkissä näytetään niiden käyttäjien käyttäjätunnus ja kotihakemisto, joilla on kirjautumiskuori ”/ bin / bash”.
$ grep "/bin/bash" /etc/passwd | cut -d":" -f1,6root:/rootbala:/home/bala
Näyttääksesi kenttäalueen, määritä aloituskenttä ja loppukenttä alla olevan kuvan mukaisesti. Tässä esimerkissä valitsemme kentät 1 – 4, 6 ja 7.
$ grep "/bin/bash" /etc/passwd | cut -d":" -f1-4,6,7root:x:0:0:/root:/bin/bashbala:x:1000:1000:/home/bala:/bin/bash
Valitse kentät vain, kun rivillä on erotin
Jos syötät esimerkiksi / etc / passwd -esimerkissä muun erottimen kuin: (kaksoispiste), cut näyttää vain koko rivin.
Seuraavassa esimerkissä Määritin erottimen muodossa | (pipe), ja cut-komento näyttää yksinkertaisesti koko rivin, vaikka se ei löydä yhtään riviä, jolla on | (pipe) -merkki.
$ grep "/bin/bash" /etc/passwd | cut -d"|" -f1root:x:0:0:root:/root:/bin/bashbala:x:1000:1000:bala,,,:/home/bala:/bin/bash
Mutta on mahdollista suodattaa ja näyttää vain rivit, jotka sisältävät määritetyn erottimen, käyttämällä -s -optiota.
Seuraava esimerkki ei näytä mitään lähtöä, koska cut-komento ei et löydä / etc / passwd-tiedostosta viivoja, joiden | (pipe) on erotin.
$ grep "/bin/bash" /etc/passwd | cut -d"|" -s -f1
Valitse kaikki kentät lukuun ottamatta määritettyjä kenttiä
Täydennä valintakenttäluetteloa käyttämällä vaihtoehtoa-täydennys.
Seuraava esimerkki näkyy kaikki / etc / passwd-tiedoston kentät paitsi kenttä 7
$ grep "/bin/bash" /etc/passwd | cut -d":" --complement -s -f7root:x:0:0:root:/rootbala:x:1000:1000:bala,,,:/home/bala
Vaihda näytön lähtöerotinta
Oletusarvoisesti lähtöerotin on sama syötteen erottimena, joka määritetään cut -d-vaihtoehdossa.
Muuta lähtöerotinta käyttämällä vaihtoehtoa -output-erotin alla olevan kuvan mukaisesti. Tässä esimerkissä syötteen erotin on: (kaksoispiste), mutta ulostulon erotin on # (hash).
$ grep "/bin/bash" /etc/passwd | cut -d":" -s -f1,6,7 --output-delimiter="#"root#/root#/bin/bashbala#/home/bala#/bin/bash
Vaihda ulostulonraja uudeksi riviksi
Tässä esimerkissä kukin leikkauskomennon kenttä näytetään erillisellä rivillä. Käytimme edelleen –output-delimiter -ohjelmaa, mutta arvo on $ ’\ n’, mikä osoittaa, että meidän pitäisi lisätä uusi rivi ulostulojen erottajana.
$ grep bala /etc/passwd | cut -d":" -f1,6,7 --output-delimiter=$"\n"bala/home/bala/bin/bash
Yhdistä Leikkaus muilla Unix-komentotulosteilla
Leikkauskomennon teho voidaan toteuttaa yhdistämällä se jonkin muun Unix-komennon stdoutiin.
Kun olet oppinut cut-komennon perustavanomaisen käytön jonka olemme selittäneet edellä, voit viisaasti käyttää komentoa cut ratkaisemaan monet tekstinkäsittelyvaatimuksista.
Seuraava esimerkki kertoo, kuinka voit poimia vain hyödyllisiä tietoja ps-komentotulosteesta. Osoitimme myös, kuinka olemme suodattaneet ps-komennon lähdön grepillä ja sedillä ennen kuin lopullinen tulos annettiin leikkauskomennolle.Tässä olemme käyttäneet leikkausvaihtoehtoja -d ja -f, jotka olemme selittäneet yllä olevissa esimerkeissä.
Jos pidit tästä artikkelista, saatat pitää myös siitä.
|
|