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:
- Távolítsa el a karaktert a karakterláncból a sed használatával
- Távolítsa el a karaktert a karakterláncból az awk használatával
- Távolítsa el a karaktert a karakterláncból a vágás segítségével
- Távolítsa el a karaktert a karakterláncból a tr használatával
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:
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ájlHol (.) 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-5Ez 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- | revEz 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- | revEz 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- | revEz 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.