12/05/2022

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

Editarea manuală a fișierelor text pe Linux poate fi plictisitoare. De aceea este bine să știți cum să înlocuiți rapid șirurile de text din fișiere folosind linia de comandă. Dacă sunteți nou în Linux și nu știți cum să o faceți, vă putem ajuta! Urmăriți cum vă arătăm cum să înlocuiți un șir de text într-un fișier pe Linux!

Înlocuiți șirul de text în fișier – sed

Instrumentul sed este cel mai bun mod de a înlocui un șir de text într-un fișier pe Linux. Motivul? Este simplu de folosit și își face treaba foarte bine. Sed este de obicei preinstalat pe 99% din sistemele de operare Linux, deci nu este nevoie să-l instalați pentru a-l folosi.

Înlocuirea unui șir de text într-un fișier cu Sed se face cu comanda sed -i. Iată cum să-l folosești. Mai întâi, deschideți o fereastră de terminal pe desktopul Linux. Puteți deschide o fereastră de terminal apăsând Ctrl + Alt + T de pe tastatură.

Odată ce fereastra terminalului este deschisă și gata de utilizare, scrieți sed -i în promptul terminalului. Acesta este începutul comenzii de înlocuire.

sed -i

După ce ați scris comanda sed -i, adăugați ghilimelele „. Acest semn de ghilimele este esențial, deoarece tot textul care este înlocuit cu sed -i trebuie să înceapă după acest semn.

sed -i '

După primul semn, scrieți s/. S/ merge direct înaintea textului existent pe care doriți să îl înlocuiți folosind sed.

sed -i 's/

Acum că s/ este scris în linia de comandă a terminalului, este timpul să îi spuneți lui sed ce text să înlocuiască în fișier. În acest exemplu, vom înlocui cuvântul „măr”.

sed -i 's/apple

Când textul pe care vrem să-l înlocuim este scris în comandă, următorul pas este să scriem în noul text care îl va înlocui. În acest exemplu, vom înlocui „mere” cu „portocale”.

sed -i 's/apples/oranges

Odată ce textul pe care vrem să-l înlocuim este scris în comandă (portocale), închideți comanda cu g/. G/ îi spune lui sed să înlocuiască toate instanțele de text (mere) cu noul text (portocale). Ar trebui să arate ca exemplul de mai jos.

  Cum să activați modul de latență ultra-scăzută pentru grafica NVIDIA

Notă: dacă nu doriți să înlocuiți fiecare text din fișier (de la mere la portocale, de exemplu), eliminați g și lăsați-l să ruleze ca sed -i ‘s/apples/oranges/’.

sed -i 's/apple/orange/g'

În cele din urmă, spuneți lui sed în ce fișier se află textul care trebuie înlocuit. În acest exemplu, fruit.txt din directorul principal este ținta.

sed -i 's/apples/oranges/g' ~/fruit.txt

Apăsați tasta Enter pentru a executa comanda și înlocuiți șirul de text în fișier.

Înlocuiți șirul de text în fișier – Perl

O altă modalitate de a înlocui un șir de text într-un fișier pe Linux este cu limbajul de programare Perl. Perl este folosit mult pentru procesarea textului, așa că, în mod natural, poate schimba șirurile de text din fișiere și este perfect pentru acest caz de utilizare.

Pentru a începe, asigurați-vă că aveți Perl instalat pe computerul dvs. Linux. Majoritatea sistemelor de operare Linux vin cu Perl instalat. Cu toate acestea, dacă nu îl aveți, verificați pagina de ajutor a sistemului de operare pentru informații despre cum să funcționeze.

Utilizarea Perl pentru a înlocui șirurile de text dintr-un fișier necesită terminalul. Deschideți un terminal pe desktopul Linux apăsând Ctrl + Alt + T de pe tastatură. Sau, căutați „Terminal” în meniul aplicației și lansați-l în acest fel.

Odată ce fereastra terminalului este deschisă și gata de utilizare, începeți prin a tasta perl -pe în linia de comandă promptă. Comanda perl -pe este ceea ce este necesar pentru a înlocui un șir de text într-un fișier.

perl -pe

După ce scrieți perl -pe în promptul terminalului, va trebui să începeți cu primul ‘ ghilimele. Acest semn îi spune lui Perl unde se află zona de înlocuire a textului din comandă.

perl -pe '

După primul ghilimele, adăugați s/, urmat de șirul de text pe care doriți să îl înlocuiți și un alt /. De exemplu, pentru a înlocui „mere” în fișierul fruit.txt, ați scrie următorul text.

perl -pe 's/apples/

După ce scrieți cuvântul (cuvintele) pe care doriți să le înlocuiți, adăugați cuvântul care va înlocui textul existent. De exemplu, dacă doriți să înlocuiți „mere” în „fruit.txt” cu „portocale”, adăugați „portocale” după perl -pe ‘s/apples/ astfel încât să arate ca perl -pe ‘s/apples/oranges/ .

perl -pe 's/apples/oranges/

Odată ce ambele șiruri de text sunt în comandă, va trebui să specificați fișierul de intrare pe care îl folosește Perl. De exemplu, dacă doriți să înlocuiți textul din fișierul „fruit.txt”, va trebui să îl specificați în comandă.

  9 Biblioteci de înregistrare Node.js pe care le puteți încerca pentru o înregistrare mai bună

Notă: în acest exemplu, fișierul „fruit.txt” se află în directorul principal (~/). Asigurați-vă că înlocuiți „~/fruit.txt” cu locația fișierului text pentru ca comanda să funcționeze.

perl -pe 's/apples/oranges/' ~/fruit.txt

Acum că fișierul de intrare (fișierul pe care îl modificați cu Perl) este adăugat la comandă, comanda ar trebui să arate ca mai jos.

perl -pe 's/apples/oranges/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt

Când comanda de mai sus este executată, șirul de text va fi înlocuit cu noul text pe care l-ați specificat. În exemplul nostru, am înlocuit „merele” cu „portocale”. Pentru a vizualiza modificările, introduceți comanda de mai jos.

cat fruit.txt

x