MC, 2025
Ilustracja do artykułu: La Magio de Bash String Manipulation Klarigita!

La Magio de Bash String Manipulation Klarigita!

Ĉu vi iam trovis vin en situacio, kie vi devis ekstrakti, anstataŭigi aŭ tranĉi tekston en Bash-skripto kaj ne sciis kiel komenci? Se jes, bonvenon! Tiu ĉi gvidilo pri bash string manipulation estas por vi. Ni enprofundiĝos en la fascinan mondon de ĉenaj manipuladoj en Bash kun entuziasmo kaj klaraj ekzemploj. Ni montros bash string manipulation przykłady por ke vi povu tuj komenci eksperimenti.

Kio Estas Ĉena Manipulado en Bash?

Ĉena manipulado signifas labori kun tekstaj datumoj (ĉenoj) por modifi ilin. En Bash, tio ofte inkluzivas tranĉadon, ŝanĝadon, anstataŭigon aŭ eĉ analizadon de tekstaj informoj. Ĉar Bash estas vaste uzata en skriptado kaj sistemadministrado, scii kiel manipuli ĉenojn estas nepra kapablo.

Baza Ĉena Asigno

Ni komencu per simpla ekzemplo de ĉena variablo:

nomo="EsperantoSkripto"
echo $nomo

Ĉi tio simple asignas ĉenon al variablo. Sed ni ne haltu ĉi tie – tempo por iuj trukoj!

Tranĉado de Ĉenoj

Unu el la plej oftaj bezonoj estas eltiri subĉenojn. Jen kiel fari tion:

teksto="Saluton, mondo!"
echo ${teksto:0:7}  # Eligos "Saluton"

La sintakso ${variablo:komenco:longeco} permesas al vi preni parton de ĉeno. Tre utila por tranĉi dosiernomojn, datumojn ktp.

Forigo de Subĉeno

Bash permesas ankaŭ forigi parton de ĉeno kun ŝablonoj:

dosiero="raporto_2024.txt"
echo ${dosiero%.txt}  # Eligos "raporto_2024"

La "%"-operacio forigas la mallongigitan kongruon de la fino de la ĉeno. Estas ankaŭ "%%" por pli larĝa kongruo!

Anstataŭigo en Ĉeno

Jen tre utila ekzemplo de anstataŭigo:

mesagxo="Mi amas kafon"
nova_mesagxo=${mesagxo/kafon/teon}
echo $nova_mesagxo  # Eligos "Mi amas teon"

Vi povas uzi "${variablo/a/b}" por anstataŭigi la unuan kongruon kaj "${variablo//a/b}" por anstataŭigi ĉiujn kongruojn.

Trovi la Longecon de Ĉeno

Jen kiel trovi la nombron da signoj en ĉeno:

teksto="LingvoInternacia"
echo ${#teksto}  # Eligos 17

Ĉi tio estas utila por validigi uzantajn enigojn aŭ prepari limigitan eliron.

Kombinado de Ĉenoj

La kunligo de du aŭ pli da ĉenoj estas same simpla kiel:

nomo="Mia"
saluto=" nomo estas Bash!"
kompleta="$nomo$saluto"
echo $kompleta

Ĉi tio estas ofta en dinamika enhavo generacio aŭ kiam oni preparas mesaĝojn en skriptoj.

Ĉenoj kun For-Lopoj

Uzi for-buĉojn por labori kun listoj de ĉenoj:

listo="unu du tri kvar"
for elemento in $listo; do
  echo "Elemento: $elemento"
done

Tiu strukturo estas utila por prilabori vicojn da dosieroj, argumentoj aŭ datumoj.

Ĉeno kun While kaj Read

Jen kiel legi ĉenon vico post vico:

while IFS= read -r linio; do
  echo "Vico: $linio"
done <<EOF
Unua vico
Dua vico
Tria vico
EOF

Ĉi tiu tekniko estas ofta por prilaborado de dosieroj aŭ multlinia teksto.

Transformado al Majuskloj aŭ Minuskloj

Transformi ĉenon al majuskloj aŭ minuskloj estas simpla:

teksto="Mi Lernas Bash"
echo ${teksto^^}  # MAJUSKLOJ
echo ${teksto,,}  # minusklaj

Tre praktika por datum-normaligo aŭ komparo.

Uzo de Regularaj Esprimoj kun Grep aŭ Sed

Por pli kompleksa manipulado, Bash povas kombiniĝi kun iloj kiel grep, sedawk:

echo "abc123def456" | grep -o '[0-9]\+'

Ĉi tio kaptos nur la nombrojn el la ĉeno. Jen unu el la bash string manipulation przykłady kie eksteraj iloj estas uzataj por pli granda potenco.

Uzi Sed por Anstataŭigo

sed estas potenca por anstataŭigi partojn de ĉeno:

echo "Mi amas programadon" | sed 's/programadon/Esperanton/'

Eligo: "Mi amas Esperanton"

Tranĉi Kun Cut

Kiam vi havas datenojn apartigitajn per komoj aŭ spacoj:

linio="nomo,retadreso,telefono"
echo $linio | cut -d',' -f2  # Eligos "retadreso"

La cut ilo estas bonega por labori kun CSV-dosieroj aŭ similaj.

Spliti Ĉenon al Tabulo

Bash ne havas denaskan tipon por tabuloj el ĉenoj, sed vi povas uzi IFS:

IFS=',' read -ra kampoj <<< "unu,du,tri"
for kampo in "${kampoj[@]}"; do
  echo $kampo
done

Ĉi tio estas tre potenca por prilabori enirajn datumojn el CSV aŭ tekstoj.

Kombini Teknikojn por Realaj Problemoj

Imagu ke vi volas prilabori liston de dosiernomoj kaj ŝanĝi la etendon al ".bak":

for dosiero in *.txt; do
  nova="${dosiero%.txt}.bak"
  mv "$dosiero" "$nova"
done

Jen reala ekzemplo kie vi uzas kaj ŝablonan forigon kaj novan nomon – klasika bash string manipulation!

Rimarkoj kaj Praktikaj Konsiloj

  • Ĉiam uzu "" ĉirkaŭ viaj variabloj por eviti neintencitajn spactranĉojn.
  • Eksperimentu en terminalo por tuj vidi rezultojn!
  • Legu oficialajn manpaĝojn (man bash, info sed) por profundaj detaloj.

Konkludo

Ni esperas, ke tiu ĉi gvidilo pri bash string manipulation estis helpema kaj ĝuinda! Kiel vi vidis, Bash ofertas multajn manierojn lerte manipuli tekstojn, kio ege faciligas la aŭtomatigon de taskoj. Ne hezitu eksperimenti, lerni kaj uzi ĉi tiujn trukojn en viaj propraj skriptoj. Se vi serĉas pli da bash string manipulation przykłady, estu certa, ke ekzistas senlima universo por malkovri!

Ĝis la sekva fojo, koderu ĝoje kaj esperante!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: