Simbolių pašalinimas iš eilutės „Bash“

Removing Characters From String Bash



Kartais gali tekti pašalinti simbolius iš eilutės. Kad ir kokia būtų priežastis, „Linux“ siūlo įvairius integruotus, patogius įrankius, leidžiančius pašalinti simbolius iš eilutės „Bash“. Šis straipsnis parodo, kaip naudoti tuos įrankius, kad pašalintumėte simbolius iš eilutės.

Straipsnyje aprašoma, kaip atlikti šiuos veiksmus:





  • Pašalinkite simbolį iš eilutės naudodami sed
  • Pašalinkite simbolį iš eilutės naudodami „awk“
  • Pašalinkite simbolį iš eilutės naudodami iškirpimą
  • Pašalinkite simbolį iš eilutės naudodami tr

Šiame straipsnyje pateiktos komandos buvo atliktos naudojant „Ubuntu 20.04 Focal Fossa“. Tos pačios komandos taip pat gali būti atliekamos naudojant kitus Linux platinimus, kuriuose yra aukščiau išvardytų įrankių. Komandoms paleisti naudosime numatytąją terminalo programą. „Terminal“ programą galite pasiekti naudodami sparčiuosius klavišus „Ctrl“+„Alt“+T.



Pašalinkite simbolius iš eilutės naudodami sed

Sed yra galinga ir patogi priemonė, naudojama redaguoti teksto srautus. Tai ne interaktyvus teksto redaktorius, leidžiantis atlikti pagrindines teksto manipuliacijas įvesties srautuose. Taip pat galite naudoti sed, kad pašalintumėte nepageidaujamus simbolius iš eilučių.



Demonstravimo tikslais naudosime eilutės pavyzdį, o tada įvesime jį į komandą sed.





Pašalinkite konkretų simbolį iš eilutės

Naudodami sed galite iš eilutės pašalinti konkretų simbolį. Pavyzdžiui, pašalinti h iš eilutės Labas, kaip tau sekasi? komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | sed 's/h //'

Tai pašalins tik pirmąjį „h“ įvykį eilutėje.
Pašalinkite konkretų simbolį iš eilutės1
Norėdami pašalinti visus „h“ atvejus iš eilutės, naudokite šią komandą:



$išmetė 'Labas, kaip tau sekasi?' | sed 's/h // g'

Kur g reiškia globalų. Tai pašalins visus „h“ atvejus eilutėje.
Pašalinkite specifinį simbolį iš eilutės2

Pašalinkite pirmąjį simbolį iš eilutės

Norėdami pašalinti pirmąjį simbolį iš eilutės Labas, kaip tau sekasi? komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | sed 's /^.//' failą

Kur (.) Atitinka tiksliai vieną simbolį ir (^) atitinka bet kurį simbolį eilutės pradžioje.
Pašalinkite pirmąjį simbolį iš eilutės

Pašalinti paskutinį simbolį iš eilutės

Norėdami pašalinti paskutinį simbolį iš eilutės Labas, kaip tau sekasi? komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | sed 's /.$//'

Kur ( . ) atitinka tiksliai vieną simbolį ir ($) atitinka bet kurį simbolį eilutės pabaigoje.
Pašalinti paskutinį simbolį iš eilutės

Pašalinkite pirmą ir paskutinį simbolį iš eilutės

Norėdami iš eilutės pašalinti pirmą ir paskutinį simbolį Labas, kaip tau sekasi? komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | sed 's /^.//; s /.$//'

Pašalinkite pirmą ir paskutinį simbolį iš eilutės

Pašalinkite simbolius iš eilutės naudodami „awk“

„Awk“ yra galinga scenarijų kalba, naudojama modeliams derinti ir tekstui apdoroti. „Awk“ leidžia įvairiais būdais filtruoti ir transformuoti tekstą. Taip pat galite naudoti „awk“, kad pašalintumėte simbolius iš eilučių.

Demonstravimo tikslais naudosime eilutės pavyzdį, o tada įvesime komandą awk.

Pašalinkite pirmąjį simbolį iš eilutės

Norėdami pašalinti pirmąjį simbolį iš eilutės Labas, kaip tau sekasi? komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | awk '{print substr ($ 0, 2)}'

Kur ($ 0) yra visa tikslinė eilutė, o (2) - simbolio pradinė padėtis. Aukščiau pateikta komanda pašalina pirmąjį simbolį „h“, simbolio skaičių „1“ ir grąžina tikslinę eilutę, prasidedančią antruoju simboliu „e“.
Pašalinkite pirmąjį simbolį iš eilutės

Pašalinkite pirmuosius du simbolius iš eilutės

Taip pat galite pašalinti tam tikrą skaičių simbolių iš eilutės pradžios. Pavyzdžiui, iš eilutės pašalinti pirmuosius du simbolius Labas, kaip tau sekasi? komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | awk „{spausdinti antrinis (0, 3 USD)}“

Aukščiau pateikta komanda pašalins pirmuosius du simbolius „jis“ arba simbolių skaičius „1 ir 2“ ir grąžins tikslinę eilutę, prasidedančią simbolio skaičiumi „3“ arba „l“.
Pašalinkite pirmuosius du simbolius iš eilutės

Pašalinti paskutinį simbolį iš eilutės

Norėdami pašalinti paskutinį simbolį iš Labas, kaip tau sekasi? komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | awk '{print substr ($ 0, 1, length ($ 0) -1)}')

Kur ilgis (0 USD) -1 reiškia išskaičiuoti ' 1 “Nuo viso simbolio ilgio.

Aukščiau pateikta komanda spausdins eilutę, prasidedančią simbolio numeriu „ 1 ' iki ilgis (0 USD) -1 nuimti paskutinį simbolį.

Yra „ 19 “Simboliai (įskaitant tarpus) aukščiau esančioje eilutėje. Komanda veiks spausdindama visus simbolius, pradedant simboliu „ 1 'Ir iki charakterio' 18 , „Pašalinant paskutinį simbolį“ 19 . “.

rmv paskutinis char frm eilutė

Pašalinkite paskutinius du simbolius iš eilutės

Norėdami pašalinti paskutinius du simbolius iš Labas, kaip tau sekasi? komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | awk '{print substr ($ 0, 1, ilgis ($ 0) -2)}'

Kur ilgis (0 USD) -2 reiškia išskaičiuoti ' 2 “Nuo viso simbolio ilgio.

Aukščiau pateikta komanda spausdins eilutę, prasidedančią simbolio numeriu „ 1 'Ir iki simbolių skaičiaus' ilgis (0 USD) -2 , “, Kad pašalintumėte paskutinius du simbolius iš eilutės.
Pašalinkite paskutinius du simbolius iš eilutės

Pašalinkite pirmuosius ir paskutinius simbolius iš eilutės

Norėdami iš eilutės pašalinti ir pirmuosius, ir paskutinius simbolius Labas, kaip tau sekasi? komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | awk '{print substr ($ 0, 2, ilgis ($ 0) - 2)}'

Kur ilgis (0 USD) -2 reiškia išskaičiuoti ' 2 “Nuo viso simbolio ilgio.

Aukščiau pateikta komanda spausdins eilutę, prasidedančią simbolio numeriu „ 2 „Iki simbolių skaičiaus“ ilgis (0 USD) -2 , “, Kad pašalintumėte pirmą ir paskutinį simbolį.

Pašalinkite pirmuosius ir paskutinius simbolius iš eilutės

Pašalinkite simbolį iš eilutės naudodami pjūvį

„Cut“ yra komandų eilutės įrankis, dažniausiai naudojamas ištraukti dalį teksto iš eilutės ar failo ir spausdinti rezultatą į standartinę išvestį. Šią komandą taip pat galite naudoti norėdami pašalinti simbolius iš eilutės.

Demonstravimo tikslais naudosime eilutės pavyzdį, o tada įvesime komandą „cut“.

Pašalinkite pirmąjį simbolį iš eilutės

Norėdami iš eilutės pašalinti pirmąjį simbolį, Labas, kaip tau sekasi? komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | supjaustyti -c 2-

Ši komanda išspausdins eilutę, prasidedančią antruoju simboliu, ir pašalins pirmąjį simbolį.
rmv supjaustyti -c

Pašalinkite pirmuosius keturis simbolius iš eilutės

Norėdami iš eilutės pašalinti pirmuosius keturis simbolius Labas, kaip tau sekasi? komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | supjaustyti -c 5-

Ši komanda išspausdins eilutę, pradedant nuo penktojo simbolio, pašalindama pirmuosius keturis simbolius.
Pašalinkite pirmuosius keturis simbolius iš eilutės

Spausdinimo eilutė tarp 2 ir 5 simbolių

Norėdami spausdinti eilutę Labas, kaip tau sekasi? tarp antro ir penkto simbolių , komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | supjaustyti -c 2-5

Ši komanda spausdins eilutę, pradedant nuo antrojo simbolio ir baigiant penktu simboliu, pašalindama likusius pradžios ir pabaigos simbolius.
rmv 2 ir 5 c2

Pašalinti paskutinį simbolį iš eilutės

Norėdami pašalinti paskutinį simbolį iš eilutės Labas, kaip tau sekasi? naudoti supjaustyti komanduoti su rev , taip:

$išmetė 'Labas, kaip tau sekasi?' | rev | supjaustyti -c2- | rev

Ši komanda veikia pirmiausia pakeisdama eilutę, tada nukirpdama pirmąjį simbolį ir galiausiai vėl ją apversdama, kad gautumėte norimą išvestį.
02 Pašalinkite paskutinį simbolį iš eilutės

Pašalinkite paskutinius keturis simbolius iš eilutės

Norėdami iš eilutės pašalinti keturis paskutinius simbolius Labas, kaip tau sekasi? komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | rev | supjaustyti -c5- | rev

Ši komanda veikia pirmiausia pakeisdama eilutę, tada nukirpdama pirmuosius keturis simbolius ir vėl ją apversdama, kad gautumėte norimą išvestį.
rmv paskutiniai keturi simboliai

Pašalinkite pirmuosius ir paskutinius simbolius iš eilutės

Norėdami iš eilutės pašalinti pirmuosius ir paskutinius simbolius Labas, kaip tau sekasi? naudoti supjaustyti komanduoti su rev , taip:

$išmetė 'Labas pasauli!' | supjaustyti -c2- | rev | supjaustyti -c2- |rev

Ši komanda veikia iškirpdama pirmąjį simbolį, tada apverčiant eilutę ir nukirpdama pirmąjį simbolį, o tada dar kartą apverčiant, kad gautumėte norimą išvestį.
rmv pirmas ir paskutinis

Pašalinkite simbolį iš eilutės naudodami tr

Komanda tr (trumpas vertimas) naudojama verčiant, suspaudžiant ir ištrinant simbolius iš eilutės. Taip pat galite naudoti tr, kad pašalintumėte simbolius iš eilutės.

Demonstravimo tikslais naudosime eilutės pavyzdį, o tada įvesime komandą tr.

Pašalinkite visus charakterio įvykius

Naudodami komandą tr, iš eilutės galite pašalinti visus mažųjų arba didžiųjų simbolių atvejus. Pavyzdžiui, norint iš eilutės pašalinti visus mažosios raidės „h“ atvejus, komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | NS -dh

Pašalinkite visus įvykius 01

Panašiai, norint iš eilutės pašalinti visus didžiųjų raidžių „H“ atvejus, komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | NS -dH

Taip pat galite naudoti aiškinamas sekas, kad pašalintumėte mažąsias arba didžiąsias raides:

$išmetė 'Labas, kaip tau sekasi?'| NS -d [: viršutinė:]

įvykiai žemesni

$išmetė 'Labas, kaip tau sekasi?'| NS -d [: žemesnis:]

pasitaiko viršutinė

Pašalinkite visus mažųjų ir didžiųjų raidžių įvykius

Taip pat iš eilutės galite pašalinti visus mažųjų ir didžiųjų simbolių atvejus. Pavyzdžiui, ši komanda pašalins visus „h“ simbolio atvejus, tiek mažąsias, tiek didžiąsias.

$išmetė 'Labas, kaip tau sekasi?' | NS -d'HH'

pasitaiko viršutinė ir apatinė

Pašalinkite visus tam tikro diapazono simbolių atvejus

Norėdami pašalinti visus simbolių atvejus iš eilutės konkrečiame diapazone „d-h“, komanda būtų tokia:

$išmetė 'Labas, kaip tau sekasi?' | NS -d „d-h“

Ši komanda pašalins visus simbolius iš eilutės „d-h“ (d, e, f, g, h).
įvyksta tam tikras diapazonas

Išvada

„Linux“ sistemoje visada bus daugiau nei vienas būdas atlikti paprastą darbą. Tas pats pasakytina ir apie simbolių pašalinimą iš eilutės. Šiame straipsnyje buvo parodyti keturi skirtingi būdai tai padaryti, taip pat keli pavyzdžiai, kaip pašalinti nepageidaujamus simbolius iš eilutės. Sprendimas, kurį įrankį naudoti, priklauso nuo jūsų pageidavimų ir, dar svarbiau, nuo to, ko norite pasiekti.