Bash Elimina els darrers x caràcters de la cadena

Bash Remove Last X Characters From String



De vegades, cal haver de suprimir lletres de qualsevol cadena. En qualsevol cas, Linux inclou diverses eines integrades i útils per eliminar lletres que formen aquest text a Bash. Aquest article mostra com esborrar lletres d'una cadena mitjançant aquests mètodes. En aquest post, les instruccions s’executaven a Ubuntu 20.04 Focal Fossa. Es poden executar les mateixes instruccions en qualsevol sistema Linux que tingui instal·lades les utilitats esmentades anteriorment. Per executar les instruccions, utilitzarem el terminal habitual. La drecera Ctrl + Alt + T obrirà l'eina Terminal.

Mètode 01: manera de subcadena

El nostre primer mètode per eliminar lletres o caràcters d’una cadena s’assembla més a crear una subcadena a partir d’una original. Mentrestant, la terminal ja s'ha obert; farem un fitxer bash per afegir el nostre codi bash. De manera que podem fer l'eliminació de caràcters o la creació de subcadenes. Per tant, hem utilitzat la instrucció tàctil integrada al nostre intèrpret d’ordres per crear un fitxer bash.









Com que el fitxer s'ha generat ràpidament a la carpeta inicial d'Ubuntu 20.04, obriu-lo en algun editor per editar-lo. Per tant, escollim l’editor GNU per obrir el document file.sh com es mostra a continuació.







Copieu-hi el codi que es mostra a continuació. Aquest codi conté una extensió bash al començament i, després d’això, hem declarat una variable de cadena val amb un valor de cadena. A l’altra línia, fem servir la frase de ressò per mostrar aquesta variable al terminal. La tasca real comença a partir d’aquí. Hem inicialitzat una variable nova i li hem assignat un valor que és una subcadena de la variable original val. Ho hem fet esmentant -14 a les claus després de dos punts. Això indica al compilador que ha de treure les darreres 14 lletres de la cadena original FirstWorldCountries. La resta de lletres es desaran a la variable nova. A l'última línia, l'eco s'ha utilitzat per imprimir la nova variable nova.



L’execució adequada d’un fitxer file.sh mitjançant l’ordre bash surt com s’esperava. En primer lloc, mostra el valor de la primera variable de cadena val i, després, mostra el valor de la cadena recentment creada a partir d’una primera variable segons la sortida que es mostra.

Mètode 02: Ús de símbols especials

Un altre mètode senzill i fàcil d’eliminar les darreres lletres o caràcters de qualsevol cadena és mitjançant símbols o caràcters especials, per exemple, símbols de percentatge i signe d’interrogació. Per tant, aquesta vegada utilitzarem el percentatge i el signe d’interrogació per eliminar els caràcters de qualsevol cadena. Per tant, ja hem obert el mateix fitxer per actualitzar l'script bash mitjançant un editor GNU Nano. El codi general és el mateix, però la part nova variable és una mica diferent. Hem utilitzat un signe de percentatge per fer saber al sistema que els números esmentats de signes d’interrogació representen el nombre de caràcters d’una variable val que s’eliminaran després d’aquest signe de percentatge. Podeu veure que hem afegit 9 símbols de signe d’interrogació. Això vol dir que s’eliminaran els darrers 9 caràcters de la cadena FirstWorldCountries i la resta de cadenes serà FirstWorld. Aquesta cadena restant es desarà a una variable nova.

Quan hàgim executat el fitxer bash actualitzat, la sortida arriba tal com s’esperava. Mostra la cadena original de la primera variable i el valor de la segona variable, nova que s’ha creat a partir de la variable val.

Mètode 03: utilitzar Sed

Sed és una eina útil i eficaç per alterar seqüències de text. Aquest és un entorn de desenvolupament no interactiu que us permet treballar amb l'entrada de dades i fer transformacions senzilles de text. També podeu utilitzar sed per suprimir cartes de textos que no vulgueu. Utilitzarem una cadena d’exemple i l’enviarem cap a l’ordre sed a efectes d’il·lustració. Podeu suprimir un caràcter concret d'algun tipus de cadena amb sed. Per tant, hem utilitzat la línia simple d’una cadena dins de la sentència echo. Hem utilitzat sed per eliminar la lletra A de la cadena esmentada. Assegureu-vos de seguir la sintaxi 's / string_to_be_removed //'. A la sortida es mostra que s’ha eliminat la lletra A.

Per eliminar tota la paraula Aqsa, hem esmentat el primer i l'últim caràcter d'una paraula amb els punts dins per representar les lletres que falten. La sortida mostra la cadena amb l’eliminació de la paraula Aqsa.

Per eliminar qualsevol nombre dels darrers caràcters d'una cadena, mencioneu el nombre de punts segons el vostre requisit abans del símbol del dòlar, tal com es mostra.

Mètode 04: utilitzar Awk

Awk és un llenguatge de seqüències d’ordres sofisticat que es pot utilitzar per fer coincidir patrons i processar textos. Podeu utilitzar Awk per canviar i modificar l'entrada de diverses maneres diferents. També podeu suprimir lletres de cadenes amb awk. Awk sembla una mica diferent de sed. Aquesta vegada hem canviat la cadena amb Aqsa Yasin. La funció awk farà substring mitjançant el mètode substr i l'imprimirà al terminal. La longitud de la funció s'ha utilitzat per demostrar el nombre de lletres eliminades de la cadena esmentada. Aquí, longitud ($ 0) -5 significa eliminar els darrers 5 caràcters d'una cadena, i la resta serà una part d'una subcadena que s'imprimirà.

Hem intentat eliminar els darrers 9 caràcters d'una cadena Aqsa Yasin i hem obtingut A com a subcadena de sortida.

Mètode 05: utilitzar tallar

Sembla que Cut és una utilitat de línia d’ordres per extreure un tros de text d’aquesta frase o document i imprimir-lo a la sortida estàndard. Aquesta operació també es pot utilitzar per eliminar lletres d'algun tipus de cadena. Utilitzarem una frase d’exemple i la passarem a la instrucció de tall per fer proves. Per tant, hem utilitzat la frase Aqsa Yasin i l’hem passat a la consulta de tall. Després del senyalador –c, hem definit el rang d'índexs per a una cadena per tallar els caràcters d'una cadena esmentada. Es mostraran els caràcters de l'índex 1 a l'índex 5. L'índex 5 s'ha exclòs aquí. La sortida mostra els primers 4 caràcters com a Aqsa.

Aquesta vegada utilitzarem la instrucció de tall de manera diferent. Hem utilitzat la funció rev per invertir la cadena. Després del revers d'una cadena, anirem tallant el primer caràcter d'una cadena. El senyalador -c2 significa que la nostra subcadena serà el caràcter 2 següent. Després d'això, la funció inversa es torna a utilitzar per revertir la cadena. Per tant, aquesta vegada hem recuperat la cadena original amb l’eliminació de l’últim caràcter.

Per eliminar els darrers 7 caràcters, només heu d'esmentar -c7-a l'ordre de tallar mentre utilitzeu també la funció inversa.

Conclusió:

Hi ha temps més d’un mètode per fer una tasca bàsica a Linux. De la mateixa manera, és possible suprimir caràcters d’un text. Aquest article mostrava cinc mètodes diferents per eliminar els caràcters no desitjats d'una cadena, així com algunes instàncies. Qualsevol eina que trieu depèn completament de la vostra elecció i, sobretot, del que vulgueu aconseguir.