Možda ćete svoje nizove morati pretvoriti u jedan red da biste ih zamijenili
- Pisanje PowerShell skripti može biti od velike pomoći u automatizaciji zadataka, ali može biti teško morati pretraživati posvuda da biste zamijenili više redaka teksta.
- Uz nekoliko naredbi, pokazujemo vam kako to postići bez potrebe za korištenjem dodatnih alata.
xINSTALIRAJTE KLIKOM NA PREUZMI DATOTEKU
- Preuzmite DriverFix (provjerena datoteka za preuzimanje).
- Klik Započni skeniranje pronaći sve problematične upravljačke programe.
- Klik Ažurirajte upravljačke programe kako biste dobili nove verzije i izbjegli kvarove sustava.
- DriverFix je preuzeo 0 čitatelja ovog mjeseca.
Windows PowerShell jedan je od najmoćnijih uslužnih programa naredbenog retka u OS-u. Problem je, međutim, što korisnici imaju malo ili nimalo informacija o njegovim opsežnim mogućnostima. Na primjer, PowerShell može pronaći i zamijeniti više redaka teksta u datoteci.
Ovo je odlično za mnoge stvari, uključujući promjenu baze koda u više datoteka. U ovom ćemo članku objasniti kako zamijeniti više redaka teksta u datoteci pomoću PowerShell-a.
Zašto moram zamijeniti više redaka u PowerShell-u?
Više redaka u PowerShell-u odličan je način da svoje skripte učinite čitljivijima. Također su korisni kada želite koristiti jednu izjavu u više redaka, ali je ne želite rastaviti na više izjava.
U programiranju više redaka znači pisanje jedne naredbe ili instrukcije u dva ili više redaka.
Možda se pitate zašto bi nam trebalo više redaka. Najočitiji razlog je čitljivost i izbjegavanje pogrešaka pri upisivanju dugih naredbi jednu po jednu.
Možemo koristiti više redaka kada imamo više od jedne naredbe za istovremeno izvršavanje. To čini naš kôd čitljivijim i lakšim za razumijevanje drugim ljudima.
Iako je sve ovo sjajno, neki korisnici više vole zamijeniti više redaka u PowerShellu. Nije teško zamijeniti redak po redak, ali postaje teško i dugotrajno kada se radi o zamjeni više redaka odjednom.
Kako mogu zamijeniti liniju u PowerShell-u?
Operator zamjene u PowerShell-u zgodan je način za zamjenu niza drugim nizom. Na primjer, ako želite zamijeniti sve instance riječi "test" riječju "ispit", možete koristiti sljedeću naredbu:
PS> "test" - Zamijenite "test", "ispit"
Metoda Zamijeni ima dva parametra:
- Niz za pretraživanje koji želite pronaći.
- Zamjenski niz koji želite koristiti umjesto niza za pretraživanje.
Iz gornjeg primjera već možete zaključiti da će vam trebati puno vremena ako tražite i zamijenite više redaka.
Da biste zamijenili više redaka, morat ćete upotrijebiti naredbu Regex. PowerShell regex naredba ima dva parametra:
- Podudaranje – Omogućuje vam da odredite uzorak za traženje u nizu unosa. Također možete navesti više uzoraka odvojenih zarezima.
- Zamijeniti – Zamjenjuje sva pojavljivanja navedenog podudaranja navedenom zamjenskom vrijednošću.
Međutim, ima neka ograničenja. Može zamijeniti samo prvo pojavljivanje podudaranja unutar retka. Zaobilazno rješenje bit će pretvaranje koda u višeredni niz.
Nakon što ga pretvorite, PowerShell će cijeli unos tretirati kao jedan niz, što olakšava njegovu zamjenu.
1. Pretvori niz
- Udari Windows ključ, vrsta PowerShell u traci za pretraživanje i kliknite Pokreni kao administrator.
- Možete koristiti prekidač raw za pretvaranje više redaka u jedan niz u PowerShellu. Kada koristite prekidač -raw, morat ćete navesti naziv datoteke.
- Na primjer, da biste pretvorili, primijenili biste sljedeću naredbu:
Get-Content C:\user\test1.txt -Raw
- To uključuje lokaciju datoteke i naziv datoteke.
2. Podudarni niz
Parametar podudaranja dizajniran je za pronalaženje jednog ili više znakova koji odgovaraju određenom uzorku.
Na primjer, ako želite pronaći sve riječi koje počinju s "c", u nizu, možete koristiti sljedeću naredbu:
[regex]::matches("c*") | gdje-objekt{$_ -kao "*c*"}
- Kako jednostavno zaobići dijeljenje lozinke za Netflix
- Što je Mobsync.exe i kako ga onemogućiti
- Kako omogućiti ažuriranje sustava Windows u registru [Brzi koraci]
3. Zamijenite linije
Nakon što pronađete podudaranja koja želite zamijeniti, možete izvršiti naredbu zamjene na sljedeći način:
PS> [regex]::Replace($str, "c", "d")
PowerShell-ova metoda pronalaženja i zamjene može biti vrlo korisna tehničkim korisnicima. Nadamo se da smo ovim postom prilično dobro naučili kako pronaći i zamijeniti jedan red pomoću PowerShell odzivnika.
Sada znamo da se to može postići relativno lako i da strukturu zapovijedi nije tako teško slijediti. Ako ste početnik, vježba čini savršena.
Ostali korisni PowerShell parametri koji bi vas mogli zanimati uključuju VlastSpakao ErrorAction, o čemu smo detaljno raspravljali.
The Blok Try-Catch također može biti vrijedno vašeg vremena, posebno ako želite uhvatiti bilo kakve pogreške u svom kodu.
Slobodno dodajte svoje savjete o svim drugim korisnim informacijama koje smo možda izostavili.
Još uvijek imate problema? Popravite ih ovim alatom:
SPONZORIRANO
Neki problemi vezani uz upravljačke programe mogu se brže riješiti korištenjem namjenskog alata. Ako i dalje imate problema s upravljačkim programima, samo preuzmite DriverFix i pokrenite ga u nekoliko klikova. Nakon toga, pustite ga da preuzme i ispravi sve vaše pogreške u tren oka!