Jak odstranit posledních n znaků z řetězce v Bash

Jak Odstranit Poslednich N Znaku Z Retezce V Bash



Bash je populární skriptovací jazyk shellu, který je široce používán v operačních systémech Linux a Unix. Jedním z běžných úkolů ve skriptování Bash je manipulace s řetězci. Někdy je nutné odstranit posledních n znaků z řetězce. Tento článek projde několika metodami Bash pro odstranění konečných n znaků z řetězce.

Jak odstranit posledních n znaků z řetězce v Bash

V Bash lze oříznutí koncových bílých znaků z uživatelských vstupů nebo odstranění posledních n znaků z řetězce použít k vyčištění názvů souborů s nežádoucími příponami:

Metoda 1: Použití příkazu cut

Příkaz vyjmout v Bash se používá k extrahování částí z každého řádku souboru. Lze jej také použít k extrahování určitého rozsahu znaků z řetězce. K odstranění posledních n znaků z řetězce můžeme použít příkaz cut s volbou -c a zde je syntaxe:







echo 'tětiva' | střih -C -n

Zde je řetězec skutečný řetězec, ze kterého chceme odstranit posledních n znaků, a n je počet znaků, které chceme odstranit, níže je příklad, který používá výše uvedenou syntaxi:



#!/bin/bash

tětiva = 'Ahoj Linux'

echo ' $string ' | střih -C -5

Ve výše uvedeném příkladu jsme použili příkaz cut k odstranění posledních 6 znaků z řetězce „Ahoj Linux“ a výstup je „Ahoj“.



  Grafické uživatelské rozhraní, text Popis automaticky vygenerován





Metoda 2: Použití příkazu sed

Sed je výkonný editor proudů, který lze použít k provádění různých textových transformací v souboru nebo proudu vstupu. Chcete-li odstranit posledních n znaků z řetězce pomocí sed, můžeme použít následující syntaxi příkazu:

echo 'tětiva' | ale 's/.\{n\}$//'

Zde n je počet znaků, které chceme odstranit z konce řetězce, a níže je příklad, který používá příkaz sed:



#!/bin/bash

tětiva = 'Ahoj Linux'

echo ' $string ' | ale 's/.\{6\}$//'

Ve výše uvedeném příkladu jsme použili příkaz sed k odstranění posledních 6 znaků z řetězce „Ahoj Linux“ a výstup je „Ahoj“.

  Grafické uživatelské rozhraní, text Popis automaticky vygenerován

Metoda 3: Použití rozšíření parametrů

Rozšíření parametrů je funkce v Bash, která nám umožňuje manipulovat s hodnotou proměnné. Chcete-li odstranit posledních n znaků z řetězce pomocí rozšíření parametrů, můžeme použít následující syntaxi:

${string::-n}

Zde proměnná string obsahuje skutečný řetězec, ze kterého chceme odstranit posledních n znaků, a n je počet znaků, které chceme odstranit.

#!/bin/bash

tětiva = 'Ahoj Linux'

echo ${string::-6}

Ve výše uvedeném příkladu jsme použili rozšíření parametrů k odstranění posledních 4 znaků z řetězce „Ahoj Linux“ a výstup je „Ahoj“.

  Grafické uživatelské rozhraní, text Popis automaticky vygenerován

Závěr

Chcete-li odstranit posledních n znaků z řetězce v bash, příkaz cut, příkaz sed a rozšíření parametrů jsou tři způsoby. Tyto metody se snadno používají a mohou být užitečné při různých skriptovacích úlohách Bash. Pomocí těchto metod můžeme snadno manipulovat s řetězci a provádět transformace textu v Bash.