înlocuiți șirul de text în fișier [Guide]

Modificarea manuală a documentelor text în Linux poate deveni rapid anevoioasă. De aceea, este extrem de util să cunoaștem metodele eficiente pentru a schimba rapid secvențe de text în fișiere, direct din linia de comandă. Dacă ești la început cu Linux și nu ești familiarizat cu aceste tehnici, suntem aici să te ghidăm! Descoperă cum poți înlocui rapid textul într-un fișier Linux!

Substituirea secvențelor de text: utilitarul `sed`

Instrumentul `sed` se dovedește a fi cea mai eficientă metodă pentru a schimba porțiuni de text într-un fișier pe Linux. Avantajele? Simplitatea în utilizare și eficiența. `sed` este de obicei preinstalat pe majoritatea sistemelor Linux (aproximativ 99%), eliminând nevoia unei instalări suplimentare.

Înlocuirea textului cu `sed` se realizează cu ajutorul comenzii `sed -i`. Iată cum se utilizează. Inițial, deschide un terminal pe desktopul tău Linux. Poți face asta apăsând simultan tastele `Ctrl + Alt + T`.

Odată ce fereastra terminalului este activă, tastează `sed -i` în prompt. Acesta este începutul comenzii de înlocuire.

sed -i

Imediat după ce ai introdus `sed -i`, adaugă ghilimelele `’`. Acesta este un pas crucial, deoarece tot textul care va fi înlocuit prin `sed -i` trebuie să fie cuprins după această marcă.

sed -i '

După primul set de ghilimele, introdu `s/`. `s/` precede textul existent pe care intenționezi să-l înlocuiești.

sed -i 's/

Acum că `s/` este în prompt, este momentul să specificăm textul țintă pentru înlocuire. Pentru acest exemplu, vom folosi cuvântul „măr”.

sed -i 's/mar

Când textul de înlocuit este în comandă, următorul pas este să specificăm noul text care îl va substitui. În acest caz, vom înlocui „măr” cu „portocală”.

sed -i 's/mar/portocala

După ce noul text (portocala) este inserat, finalizează comanda cu `g/`. `g/` indică lui `sed` să înlocuiască toate aparițiile textului vechi (mar) cu cel nou (portocala). Ar trebui să arate ca exemplul de mai jos.

Notă: Dacă nu vrei să înlocuiești fiecare apariție a textului (de exemplu, de la „mar” la „portocala”), omite `g` și utilizează `sed -i ‘s/mar/portocala/’`.

sed -i 's/mar/portocala/g'

În final, specifică lui `sed` în ce fișier se găsește textul care va fi înlocuit. În acest exemplu, fișierul țintă este `fructe.txt` din directorul principal.

sed -i 's/mar/portocala/g' ~/fructe.txt

Apasă tasta `Enter` pentru a executa comanda și a înlocui textul în fișier.

Substituirea textului: limbajul Perl

O altă metodă pentru a schimba textul într-un fișier Linux implică limbajul de programare Perl. Perl este frecvent utilizat pentru procesarea textului, așadar, poate modifica cu ușurință secvențe de text în fișiere, fiind o alegere excelentă în acest context.

Pentru a începe, asigură-te că Perl este instalat pe sistemul tău Linux. Majoritatea distribuțiilor Linux vin cu Perl preinstalat. Dacă nu este cazul, verifică documentația sistemului de operare pentru instrucțiuni de instalare.

Utilizarea Perl pentru înlocuirea textului necesită accesul la terminal. Deschide un terminal apăsând `Ctrl + Alt + T`, sau caută „Terminal” în meniul aplicațiilor.

Odată ce terminalul este activ, începe prin a scrie `perl -pe` în promptul liniei de comandă. Comanda `perl -pe` este esențială pentru a schimba textul dintr-un fișier.

perl -pe

După ce ai introdus `perl -pe`, adaugă semnul de ghilimele `’`. Acesta indică lui Perl zona din comandă unde se va desfășura substituția de text.

perl -pe '

După primul set de ghilimele, introdu `s/`, urmat de textul pe care vrei să-l înlocuiești și apoi alt `/`. De exemplu, pentru a schimba „mar” în fișierul `fructe.txt`, ai introduce următorul text.

perl -pe 's/mar/

După ce ai specificat textul de înlocuit, adaugă noul text. Dacă vrei să schimbi „mar” cu „portocale”, adaugă „portocale” după `perl -pe ‘s/mar/’`, astfel încât comanda să arate `perl -pe ‘s/mar/portocale/’`.

perl -pe 's/mar/portocale/'

Odată ce ambele șiruri de text sunt în comandă, trebuie să specifici fișierul de intrare pe care Perl îl va folosi. De exemplu, dacă vrei să schimbi textul din fișierul `fructe.txt`, va trebui să-l specifici în comandă.

Notă: În acest exemplu, fișierul `fructe.txt` se află în directorul principal (~/). Înlocuiește `~/fructe.txt` cu locația reală a fișierului tău.

perl -pe 's/mar/portocale/' ~/fructe.txt

Acum că fișierul de intrare este adăugat, comanda ar trebui să arate similar cu cea de mai jos.

perl -pe 's/mar/portocale/' ~/fructe.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fructe.txt

Când comanda de mai sus este executată, textul vechi va fi înlocuit cu noul text specificat. În exemplul nostru, am schimbat „mar” cu „portocale”. Pentru a vizualiza rezultatele, introdu comanda de mai jos.

cat fructe.txt