Care este cel mai bun mod de a face manipulare șir într-un script de shell?




Am o cale ca un șir de caractere într-un shell-script, ar putea fi absolută sau relativă:


/usr/userName/config.cfg


sau


../config.cfg


Vreau să extragă numele fișierului (partea care urmează după ultima /, astfel încât în ​​acest caz: „config.cfg“)


Eu dau cel mai bun mod de a face acest lucru este cu unele regex simplu? Este corect? Ar trebui sau ar trebui să folosesc sed sau awk în schimb? 


caracteristici de manipulare șir Shell-scripting par destul de primative de la sine, și apar foarte ezoterice. 


Orice exemplu soluții sunt apreciate.
În loc de manipulare șir mi-ar folosi doar



```
file=`basename "$filename"`

```

**Editare** :


Vă mulțumim pentru a vă relaxa pentru unele sintaxa mai nouă pentru acest lucru (care presupune nume de fișier este deținut în $ filename):



```
file=$(basename $filename)

```
cel mai bun cfg e cel pe care ti`l faci tu, sau default + cateva ajustari, binduri... iti recomand sa iti iei alt cfg pentru ca asta nu este bun!
il bagi in cs/cstrike 
si te duci la cfg-ul respectiv, dai rename si dai si u un nume mai usor!
te duci in cs si scrii in consola 
ex: exec hns.cfg trebuie sa intri in 1.start 2.run 3.scri in run ''regedit'' dupa aceea cauti hkey\_curent\_user dai la software dupa acea cauti valve fisierul valve il stergi si dupa aceea intri in cs s-ar putea sa iti ceara codul codul este aaaaaaaaaaa si voila my 2 cents:

când implementezi un api nu mi se pare logic să “ghicești” ce fel de date primești pe baza inputului primit. de obicei modul de encodare a datelor îl determini folosind una din metodele de mai jos:

trimițând un http header când faci requestul (clientul api-ului) - considerat best prac… O JIT compiler ruleaza **după** programul a început și compilează codul (de obicei bytecode sau un fel de NEG instrucțiuni) pe zbor (sau doar-în-timp, ca's) într-o formă care's, de obicei, mai repede, de obicei gazda CPU's nativi set de instrucțiuni. O JIT are acces la execuție dinamică informații întrucât un compilator standard nu't și poate face mai bine optimizări ca inlining funcții care sunt utilizate frecvent.


Acest lucru este în contrast cu un tradițional compiler care compilează **toate** codul de limbaj mașină **înainte** programul este primul a alerga.


Pentru a parafraza, convenționale compilatoare construi întregul program ca un fișier EXE ÎNAINTE de prima dată când îl rulați. Pentru noi programe de stil, un ansamblu este generat cu pseudocod (p-code). Numai DUPĂ ce executați programul pe sistemul de OPERARE (de exemplu, prin dublu-clic pe pictograma acestuia) va (JIT) compiler lovi cu piciorul în și de a genera cod mașină (m-code) care Intel bazate pe procesor sau orice altceva va înțelege. Răspuns scurt:



```
$ ssh-keygen -p
```

Acest lucru vă va solicita să introduceți keyfile relaxare, frază veche și nouă frază de acces (care poate fi lăsat necompletat pentru a avea nici o frază de acces).


Dacă doriți să facă totul pe o singură linie fără solicitări face:



```
$ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
```

**Important:** Feriți-vă că, atunci când execută comenzi vor fi de obicei înregistrate în ta `~/.bash_history` de fișier (sau similare) în text simplu, inclusiv toate argumentele oferite (adică passphrases în acest caz). Este, prin urmare, este recomandat să folosiți prima opțiune dacă nu aveți un motiv special pentru a face altfel. Observați totuși că puteți utiliza în continuare `-f fisier-cheie fără a fi nevoie să specificați`-P " sau " - N`, și că keyfile implicit`~/.ssh/id\_rsa, astfel încât, în multe cazuri, aceasta's a nu mai avea nevoie.


S-ar putea dori să ia în considerare folosind ssh-agent, care poate cache fraza de acces pentru un timp. Cele mai recente versiuni ale gpg-agent sprijini, de asemenea, protocolul care este utilizat de către ssh-agent. poți face asta și cu paint :)) știi rugam, progrămelul ala în care se desenează. tragi de linia din partea în care vrei și ai și adus-o la o alta dimensiune și ai și tăiat în același timp. sau cu opțiunea crop/taie. bun si 7z, ai facut o greseala dand clic pe executabil in arhiva.este simplu,deschizi prima arhiva/extract (se creaza automat in acel folder altul, jump...), se extrage toata cap/coada. abia dupa ce se extrage deschizi folderul creat si instalezi (setup). fisierul te.nfo (contine parola/serial il deschizi cu notepad. 1. u@
2. pe serverul de respawn e meci continuu deci nu e nevoie sa plantezi bomba.
3.harta se schimba in ultimele 5 minute si exceptie e atunci cand sunt prea putini/multi playeri pentru. harta respectiva.
4.aimul nu iese in poze, deci degeaba faci...
5.cel mai bine e amx\_blind deoarece un aim vine in unele cazuri si cu un wall
6.ii faci poze sau ii dai blind.frag dupa blind inseamna ca jucatorul respectiv a facut un frag dupa ce i s-
a aplicat comanda amx\_blind.
7.amx\_banmenu/amx\_ban "nume" "ip" "durata" "motiv" iar pe steam e exact la fel ca la amx\_ban doar ca in loc de ip scrii id steam.
8.amx\_showip pentru cei de pe sv.
amx\_last pentru. ultimii 10 care au iesit de pe sv.
9.scrii doar jumatate din nume(in cazul asta a)
10.format jpeg.toate pozele au acest format.
11.nu poti.ii dai ban;)
12. transferi un player la ct sau la t 
13.amx\_votemap
14.record "nume" si il gasesti in folderul cstrike
15.baneaza ip jucatorului
16.intri pe acest site: http://www.freakz.ro/ss\_checker.php
dai la browse, alegi poza sau pozele si dai la upload & check :)
sper ca te-am ajutat :) nu e nicio diferenţă între filme şi seriale. tot fişier video rulat de-un soft e. duuuh...

dezarhivezi din win rar în folderul serialului şi rulezi player-ul. atât. sau dezarhivezi pe desktop, rulezi episodul, iei subtitrarea dezarhivată şi îi dai drumul peste imagine. cum vrei.

ps. dar vezi că bs player îşi găseşte subtitrări singur. rar trebuie să cauţi.