BASH programozás

Karakterek eltávolítása a Bash karakterláncból

Karakterek eltávolítása a Bash karakterláncból

Időnként előfordulhat, hogy el kell távolítania a karaktereket egy karakterláncból. Bármi is legyen az oka, a Linux különféle beépített, praktikus eszközöket kínál Önnek, amelyek lehetővé teszik a karakterek eltávolítását a Bash karakterláncaiból. Ez a cikk bemutatja, hogyan használhatja ezeket az eszközöket karakterek eltávolításához egy karakterláncból.

A cikk a következők végrehajtásáról szól:

Az ebben a cikkben bemutatott parancsokat az Ubuntu 20-ban hajtották végre.04 Focal Fossa. Ugyanezek a parancsok végrehajthatók más Linux disztribúciókon is, amelyek rendelkeznek a fenti eszközökkel. A parancsok futtatásához az alapértelmezett Terminal alkalmazást fogjuk használni. A Terminal alkalmazást a Ctrl + Alt + T billentyűparancs segítségével érheti el.

Karakterek eltávolítása a karakterláncból a sed használatával

A Sed egy hatékony és praktikus segédprogram, amelyet a szövegfolyamok szerkesztésére használnak. Ez egy nem interaktív szövegszerkesztő, amely lehetővé teszi az alapvető szövegmanipulációk végrehajtását a bemeneti adatfolyamokon. A sed használatával eltávolíthatja a nem kívánt karaktereket a karakterláncokból.

Bemutató célokra egy minta karakterláncot fogunk használni, majd csatoljuk a sed parancshoz.

Távolítsa el az adott karaktert a karakterláncból

A sed használatával eltávolíthat egy adott karaktert egy karakterláncból. Például a „h” eltávolítása a „Szia, hogy vagy?”A következő parancs lenne:

$ echo "szia, hogy vagy?"| sed 's / h //'

Ez csak a 'h' első előfordulását távolítja el a karakterláncból.

A h karakter minden előfordulásának eltávolításához használja a következő parancsot:

$ echo "szia, hogy vagy?"| sed 's / h // g'

Hol g a globális. Eltávolítja a h karakter minden előfordulását a karakterláncból.

Távolítsa el az első karaktert a karakterláncból

Az első karakter eltávolítása a karakterláncbólSzia, hogy vagy?” a parancs a következő lenne:

$ echo "szia, hogy vagy?"| sed 's / ^.// 'fájl

Hol (.) pontosan egy karakterrel és (^) illeszkedik a karakterlánc elején található karakterekkel.

Távolítsa el az utolsó karaktert a karakterláncból

Az utolsó karakter eltávolítása a karakterláncbólSzia, hogy vagy?” a parancs a következő lenne:

$ echo "szia, hogy vagy?"| sed 's /.$ // '

Hol (.) pontosan egy karakterrel és ($) illeszkedik a karakterlánc végén lévő karakterekkel.

Távolítsa el az első és az utolsó karaktert a karakterláncból

Az első és az utolsó karakter eltávolítása a karakterláncbólSzia, hogy vagy?” a parancs a következő lenne:

$ echo "szia, hogy vagy?"| sed 's / ^.//; s /.$ // '

Karakterek eltávolítása a karakterláncból az awk használatával

Az Awk egy hatékony szkriptnyelv, amelyet a minták illesztésére használnak, a szövegfeldolgozással együtt. Az Awk lehetővé teszi a szöveg különböző módon történő szűrését és átalakítását. Az awk használatával karaktereket is eltávolíthat a karakterláncokból.

Bemutató célokra egy mintasztringet fogunk használni, majd az awk parancshoz csatoljuk.

Távolítsa el az első karaktert egy karakterláncból

Az első karakter eltávolítása a karakterláncbólSzia, hogy vagy?” a parancs a következő lenne:

$ echo "szia, hogy vagy?"| awk 'print substr ($ 0, 2)'

Ahol ($ 0) a teljes céllánc, a (2) pedig a karakter kezdőpozíciója. A fenti parancs eltávolítja az első karaktert, a „h” karaktert, az „1” karaktert, és a második karakterrel kezdődő célláncot adja vissza."

Távolítsa el az első két karaktert a karakterláncból

A karakterlánc elejéről egy meghatározott számú karaktert is eltávolíthat. Például az első két karakter eltávolításához a karakterláncbólSzia, hogy vagy?” a parancs a következő lenne:

$ echo "szia, hogy vagy?"| awk 'print substr ($ 0, 3)'

A fenti parancs eltávolítja az első két karaktert, a „he” vagy az „1 és 2” karaktereket, és a „3” vagy „l” karakterrel kezdődő célláncot adja vissza."

Távolítsa el az utolsó karaktert a karakterláncból

Az utolsó karakter eltávolítása a “Szia, hogy vagy?” a parancs a következő lenne:

$ echo "szia, hogy vagy?"| awk 'print substr ($ 0, 1, length ($ 0) -1)'

Hol hossza ($ 0) -1 levonást jelent1'a teljes karakterhosszból.

A fenti parancs kinyomtatja a karakterlánccal kezdődő karakterláncot1'ig hossza ($ 0) -1 hogy levetkőztesse az utolsó karaktert.

Vannak '19'karaktereket (a szóközöket is beleértve) a fenti karakterláncban. A parancs az összes karakter kinyomtatásával működik, kezdve a karakterrel '1"és a karakterig"18,"az utolsó karakter eltávolítása közben"19."

Távolítsa el az utolsó két karaktert a karakterláncból

Az utolsó két karakter eltávolítása aSzia, hogy vagy?”A következő parancs lenne:

$ echo "szia, hogy vagy?"| awk 'print substr ($ 0, 1, length ($ 0) -2)'

Hol hossza ($ 0) -2 levonást jelent2'a teljes karakterhossztól.

A fenti parancs kinyomtatja a karakterláncot, kezdve a karakter számával1"és a karakterek számáig"hossza (0 dollár) -2,'a karakterlánc utolsó két karakterének eltávolításához.

Távolítsa el az első és az utolsó karaktert is a karakterláncból

Az első és az utolsó karakter eltávolítása a karakterláncbólSzia, hogy vagy?” a parancs a következő lenne:

$ echo "szia, hogy vagy?"| awk 'print substr ($ 0, 2, length ($ 0) - 2)'

Hol hossza ($ 0) -2 levonást jelent2'a teljes karakterhossztól.

A fenti parancs kinyomtatja a karakterláncot, kezdve a karakter számával2'karakterszámig'hossza ($ 0) -2,'az első és az utolsó karakter eltávolításához.

Karakter eltávolítása a karakterláncból a vágás használatával

A Cut egy parancssori eszköz, amelyet általában a szöveg egy részének kivonására szolgál egy karakterláncból vagy fájlból, és az eredményt szabványos kimenetre nyomtatja. Használhatja ezt a parancsot karakterek törléséhez is egy karakterláncból.

Bemutató célokra egy minta karakterláncot fogunk használni, majd a cut parancshoz csatoljuk.

Távolítsa el az első karaktert a karakterláncból

Az első karakter eltávolításához a karakterláncból:Szia, hogy vagy?” a parancs a következő lenne:

$ echo "szia, hogy vagy?"| vágás -c 2-

Ez a parancs kinyomtatja a karakterláncot, a második karaktertől kezdve, az első karakter eltávolításával.

Távolítsa el az első négy karaktert a karakterláncból

Az első négy karakter eltávolítása a karakterláncbólSzia, hogy vagy?” a parancs a következő lenne:

$ echo "szia, hogy vagy?"| vágás -c 5-

Ez a parancs az ötödik karaktertől kezdve kinyomtatja a karakterláncot, az első négy karakter eltávolításával.

Karakterlánc nyomtatása a 2. és az 5. karakter között

A karakterlánc nyomtatásaSzia, hogy vagy?” a második és az ötödik karakter között, a parancs a következő lenne:

$ echo "szia, hogy vagy?"| vágás -c 2-5

Ez a parancs kinyomtatja a karakterláncot a második karaktertől az ötödik karakterig, miközben eltávolítja a fennmaradó kezdő és befejező karaktereket.

Távolítsa el az utolsó karaktert a karakterláncból

Az utolsó karakter eltávolítása a karakterláncbólSzia, hogy vagy?” használja a vágott parancsot fordulat, alábbiak szerint:

$ echo "szia, hogy vagy?"| rev | cut -c2- | rev

Ez a parancs úgy működik, hogy először megfordítja a karakterláncot, majd levágja az első karaktert, és végül újra megfordítja, hogy megkapja a kívánt kimenetet.

Távolítsa el az utolsó négy karaktert a karakterláncból

Az utolsó négy karakter eltávolítása a sorbólSzia, hogy vagy?” a parancs a következő lenne:

$ echo "szia, hogy vagy?"| rev | cut -c5- | rev

Ez a parancs úgy működik, hogy először megfordítja a karakterláncot, majd levágja az első négy karaktert, majd újra megfordítja, hogy megkapja a kívánt kimenetet.

Távolítsa el az első és az utolsó karaktert a karakterláncból

Az első és az utolsó karakter eltávolítása a karakterláncbólSzia, hogy vagy?” használja a vágott parancsot fordulat, alábbiak szerint:

$ echo "szia világ!"| cut -c2- | rev | cut -c2- | rev

Ez a parancs úgy működik, hogy levágja az első karaktert, majd megfordítja a karakterláncot és levágja az első karakterét, majd újra megfordítja, hogy megkapja a kívánt kimenetet.

Karakter eltávolítása a karakterláncból a tr használatával

A tr parancs (a fordítás rövidítése) a karakterek lefordítására, szorítására és törlésére szolgál egy karakterláncból. A tr használatával karaktereket is eltávolíthat egy karakterláncból.

Bemutató célokra egy mintasztringet fogunk használni, majd a tr parancshoz csatoljuk.

Távolítsa el a karakter minden előfordulását

A tr paranccsal eltávolíthatja a karakterláncból a kis- és nagybetűk minden előfordulását. Például a „h” kisbetűs karakter minden előfordulásának eltávolításához a karakterláncból a következő parancs legyen:

$ echo "Helló, hogy vagy?"| tr -d h

Hasonlóképpen, a H karakter nagybetűs karakterének minden előfordulásának eltávolításához a parancs a következő lenne:

$ echo "Helló, hogy vagy?"| tr -d H

Értelmezett szekvenciákat is használhat a kis- és nagybetűk eltávolítására:

$ echo "Helló, hogy vagy?"| tr -d [: felső:]

$ echo "HELLO, hogy vagy?"| tr -d [: alsó:]

Távolítsa el a kis- és nagybetűs karakterek minden előfordulását

A karakterláncból eltávolíthatja mind a kis-, mind a nagybetűs karakterek minden előfordulását. Például a következő parancs eltávolítja a „h” karakter minden előfordulását, mind kis-, mind nagybetűket.

$ echo "Helló, hogy vagy?"| tr -d 'hH'

Távolítsa el a karakterek minden előfordulását egy adott tartományban

A karakterek minden előfordulásának eltávolításához a karakterláncból a „d-h” tartományban a következő parancs lenne:

$ echo "szia, hogy vagy?"| tr -d 'd-h'

Ez a parancs eltávolítja az összes karaktert a karakterlánc 'd-h' (d, e, f, g, h) tartományában.

Következtetés

Linux alatt mindig többféleképpen lehet egyszerű munkát elvégezni. Ugyanez vonatkozik a karakterek törlésére egy karakterláncból. Ez a cikk négy különböző módszert mutatott be ennek megtételére, néhány példával együtt a nem kívánt karakterek eltávolításához egy karakterláncból. Annak eldöntése, hogy melyik eszközt használja, az az Ön preferenciáitól függ, és ami még fontosabb, attól, hogy mit szeretne elérni.

Az X-Mouse Button Control segítségével az egér gombjait másképp alakíthatja át a különböző szoftvereknél
Lehet, hogy szüksége van egy eszközre, amely megváltoztathatja az egér vezérlését minden használt alkalmazással. Ebben az esetben kipróbálhatja az úgy...
Microsoft Sculpt Touch vezeték nélküli egér áttekintés
Nemrég olvastam a Microsoft Sculpt Touch vezeték nélküli egér és úgy döntött, hogy megveszi. Egy ideig használat után úgy döntöttem, hogy megosztom ve...
AppyMouse képernyős Trackpad és egérmutató a Windows táblagépekhez
A táblagép-felhasználók gyakran hiányolják az egérmutatót, különösen akkor, ha szokták használni a laptopokat. Az érintőképernyős okostelefonok és táb...