Com eliminar els darrers n caràcters d'una cadena a Bash
A Bash, es pot utilitzar retallar els espais en blanc al final de les entrades de l'usuari o eliminar els n caràcters finals d'una cadena per endreçar els noms de fitxers amb extensions no desitjables:
Mètode 1: utilitzant l'ordre cut
L'ordre tallar a Bash s'utilitza per extreure seccions de cada línia d'un fitxer. També es pot utilitzar per extreure un rang específic de caràcters d'una cadena. Per eliminar els darrers n caràcters d'una cadena, podem utilitzar l'ordre cut amb l'opció -c, i aquí teniu la sintaxi:
eco 'cadena' | tallar -c -n
Aquí la cadena és la cadena real de la qual volem eliminar els darrers n caràcters, i n és el nombre de caràcters que volem eliminar, a continuació es mostra l'exemple que utilitza la sintaxi anterior:
#!/bin/bash
corda = 'Hola Linux'
eco ' $cadena ' | tallar -c -5
A l'exemple anterior, hem utilitzat l'ordre cut per eliminar els últims 6 caràcters de la cadena 'Hola Linux' i la sortida és 'Hola'.
Mètode 2: utilitzant l'ordre sed
Sed és un potent editor de flux que es pot utilitzar per realitzar diverses transformacions de text en un fitxer o un flux d'entrada. Per eliminar els darrers n caràcters d'una cadena amb sed, podem utilitzar la sintaxi d'ordres següent:
eco 'cadena' | però 's/.\{n\}$//'Aquí, n és el nombre de caràcters que volem eliminar del final de la cadena, i a continuació es mostra un exemple que utilitza l'ordre sed:
#!/bin/bash
corda = 'Hola Linux'
eco ' $cadena ' | però 's/.\{6\}$//'
A l'exemple anterior, hem utilitzat l'ordre sed per eliminar els últims 6 caràcters de la cadena 'Hola Linux' i la sortida és 'Hola'.
Mètode 3: Ús de l'expansió de paràmetres
L'expansió de paràmetres és una característica de Bash que ens permet manipular el valor d'una variable. Per eliminar els darrers n caràcters d'una cadena mitjançant l'expansió de paràmetres, podem utilitzar la sintaxi següent:
${string::-n}Aquí, la variable de cadena conté la cadena real de la qual volem eliminar els darrers n caràcters, i n és el nombre de caràcters que volem eliminar.
#!/bin/bashcorda = 'Hola Linux'
eco ${string::-6}
A l'exemple anterior, hem utilitzat l'expansió de paràmetres per eliminar els últims 4 caràcters de la cadena 'Hola Linux' i la sortida és 'Hola'.
Conclusió
Per eliminar els darrers n caràcters d'una cadena en bash, l'ordre cut, l'ordre sed i l'expansió del paràmetre són les tres maneres. Aquests mètodes són fàcils d'utilitzar i poden ser útils en diverses tasques de scripting de Bash. Mitjançant aquests mètodes, podem manipular fàcilment cadenes i realitzar transformacions de text a Bash.