tgoop.com/linuxpeople_feed/698
Create:
Last Update:
Last Update:
❇️Trucco
del giorno
espansione dei paramatri shell pt3
Supponiamo ora di avere una stringa di cui vogliamo "eliminare qualcosa"
se ciò che vogliamo eliminare sta all'inizio possiamo procedere così:
echo ${variabile#parola}o con ## se su più match vogliamo rimuovere il più lungo.
Normalmente se ci sono più match viene rimossa solo la prima occorrenza!
la parola può essere una regex in accordo con le normali regole dei pattern su UNIX, quindi ad esempio il carattere jolly * indica una qualunque combinazione di caratteri
ad esempio estraiamo dal nome di un file la sua estensione
estensione=${nomefile##*.}cioè "la più lunga combinazione di caratteri che finisce con un punto"
Potete fare lo stesso ragionamento di cui sopra con il carattere % anzichè # e si applica alla prima occorrenza del patter partendo dalla fine!
Ad esempio cacciamo solo l'estensione di un file così:
estensione=${nomefile%%*.}un ulteriore particolarità è la sostituzione della prima sottostringa con una parola che si ottiene così:
echo ${variabile/parola/sostituzione}Ad esempio sostituiamo il primo "ciao" con "buongiorno"
echo ${variabile/ciao/buongiorno}Ma credo sareste d'accordo con me se dicessi che ancora più interessante è sostituire così tutte le occorrenze della parola no? allora potremmo fare così:
echo ${variabile//parola/sostituzione}Ad esempio ricordate l'alfabeto farfallino? beh diciamo che potremmo iniziare a sostituire tutte le a con afa così:
echo ${variabile//a/afa}e così via per le altre vocali :D
BY feed linuxpeople
Share with your friend now:
tgoop.com/linuxpeople_feed/698