Ako odstrániť posledných n znakov z reťazca v Bash
V Bash možno použiť orezanie koncových medzier zo vstupov používateľa alebo odstránenie posledných n znakov z reťazca na upratanie názvov súborov s nežiaducimi príponami:
Metóda 1: Použitie príkazu cut
Príkaz cut v Bash sa používa na extrahovanie sekcií z každého riadku súboru. Môže sa použiť aj na extrahovanie určitého rozsahu znakov z reťazca. Na odstránenie posledných n znakov z reťazca môžeme použiť príkaz cut s voľbou -c a tu je syntax:
ozvena 'reťazec' | rezať -c -n
Tu je reťazec skutočný reťazec, z ktorého chceme odstrániť posledných n znakov, a n je počet znakov, ktoré chceme odstrániť, nižšie je príklad, ktorý používa vyššie uvedenú syntax:
#!/bin/bash
reťazec = 'Ahoj Linux'
ozvena ' $string ' | rezať -c -5
Vo vyššie uvedenom príklade sme použili príkaz cut na odstránenie posledných 6 znakov z reťazca „Ahoj Linux“ a výstup je „Ahoj“.
Metóda 2: Použitie príkazu sed
Sed je výkonný editor prúdov, ktorý možno použiť na vykonávanie rôznych textových transformácií v súbore alebo prúde vstupu. Ak chcete odstrániť posledných n znakov z reťazca pomocou sed, môžeme použiť nasledujúcu syntax príkazu:
ozvena 'reťazec' | ale 's/.\{n\}$//'Tu je n počet znakov, ktoré chceme odstrániť z konca reťazca, a nižšie je príklad, ktorý používa príkaz sed:
#!/bin/bash
reťazec = 'Ahoj Linux'
ozvena ' $string ' | ale 's/.\{6\}$//'
Vo vyššie uvedenom príklade sme použili príkaz sed na odstránenie posledných 6 znakov z reťazca „Ahoj Linux“ a výstup je „Ahoj“.
Metóda 3: Použitie rozšírenia parametrov
Rozšírenie parametrov je funkcia v Bash, ktorá nám umožňuje manipulovať s hodnotou premennej. Na odstránenie posledných n znakov z reťazca pomocou rozšírenia parametrov môžeme použiť nasledujúcu syntax:
${string::-n}Tu premenná reťazca obsahuje skutočný reťazec, z ktorého chceme odstrániť posledných n znakov, a n je počet znakov, ktoré chceme odstrániť.
#!/bin/bashreťazec = 'Ahoj Linux'
ozvena ${string::-6}
Vo vyššie uvedenom príklade sme použili rozšírenie parametrov na odstránenie posledných 4 znakov z reťazca „Ahoj Linux“ a výstupom je „Ahoj“.
Záver
Ak chcete odstrániť posledných n znakov z reťazca v bash, príkaz cut, príkaz sed a rozšírenie parametrov sú tri spôsoby. Tieto metódy sa ľahko používajú a môžu byť užitočné pri rôznych úlohách skriptovania Bash. Pomocou týchto metód môžeme ľahko manipulovať s reťazcami a vykonávať transformácie textu v Bash.