Pentru a lucra la siruri de caractere folosind Bash, se folosesc parametrii de extindere (expansiunile parametrilor). Descrierea acestui principiu se gaseste in Bash-ul omului din paragraful 3.5.3 al expansiunii parametrilor Shell.
Descrierea este greu de înțeles. Este mult mai ușor să înțelegeți principiul de lucru pe exemple.
1. Ștergeți caracterele la începutul sau la sfârșitul liniei
Orice caracter unic este marcat ca "?"
Setați variabila STRING:
Pentru a șterge caracterele de la începutul unei linii, utilizați următoarele comenzi: pentru a șterge caracterele de la capătul liniei: Amintiți-vă când să utilizați semnul #. și când% folosește acest mod original:
Simbolurile # $% sunt localizate secvențial pe tastatură și:
# la stânga de $. înseamnă de la începutul liniei
% la dreapta de $. înseamnă sfârșitul liniei
2. Eliminarea expresiilor regulate la începutul sau la sfârșitul liniei
Expresii regulate (expresii regulate sau regExp, regex) - acesta este un șablon șir sau "mască" care specifică regula căutării.
Din nou, setați variabila STRING:
ștergeți expresia regulată de la începutul liniei: ștergeți expresia regulată la sfârșitul liniei: Acum, la fel, dar folosind "*" (asterisc)
ștergeți expresia regulată la începutul liniei (GNU = * U): ștergeți expresia regulată la sfârșitul liniei (Linux = L *):
Folosirea expresiilor regulate poate fi combinată cu "?" (semnul oricărui simbol) (Linux = L * = ?? n *):
3. Utilizarea sistemului dual # 035; # 035; și # 037; # 037;
Dacă ștergeți dintr-un șir de expresii regulate (regex * sau regex *), folosind „#“ și „%“ cu „*“ - îndepărtarea merge până la prima apariție a expresiei regulate. atunci când folosești dublu "# 035; # 035;" și "# 037; # 037;" - la ultimul:
Din nou, setați variabila STRING:
4. Căutați și înlocuiți
5. Extracția substringului folosind offset și lungime $
offset-offset de la marginea liniei
lungimea este lungimea substringului
5.1 Offset cu valori pozitive
Cu valori pozitive de offset, primul caracter al șirului corespunde unei valori "0".
În cazul în care
Exemple cu valori pozitive
5.2 Offset negativ
Cu valori negative
Pentru a scrie un decalaj negativ între semnul colonului și semnul minus, lăsați un spațiu sau luați o valoare negativă în paranteze.
În cazul în care
Exemple cu valori negative
5.3 Valori negative
În cazul în care
Cum să aplicați toate acestea în practică:
Iată diferitele opțiuni de cod pentru schimbarea extensiei de la * .wav la * .mp3 atunci când ștergeți fișierele audio:
6. Numărarea numărului de caractere din șirul $
Găsiți numărul de caractere din fișier:
Aici trebuie notat că fișierul este citit nu doar într-o variabilă, ci într-o matrice, deoarece constă din mai multe linii. Prin urmare, pentru calcularea corectă este necesar să puneți [@]. Dacă nu se face acest lucru, comanda va citi numai primul rând din fișier:
Și adevărul, primul rând conține doar o etichetă și caracterul de rupere a liniei (CR + LF) - și cele 7 caractere.
7. Schimbarea caracterelor
$ - transferă primul caracter la majuscule
$ traduce toate caracterele în majuscule
$ - transferă primul caracter la litere mici
$ traduce toate caracterele în litere mici
> -introduce primul registru de caractere
> -inversează cazul tuturor caracterelor
Tag-uri: linux, bash, shell, expresii regulate, extensii parametru, RegExp, regex, lungime, offset, pentru, in, face. lama, făcut, * .wav, mp3, CR + LF, expresii regulate, tipar, căutare, variabilă, matrice, șir, caractere, superior, inferior, caz