Du skal muligvis konvertere dine strenge til en enkelt linje for at erstatte dem
- At skrive PowerShell-scripts kan være yderst nyttigt til at automatisere opgaver, men det kan være svært at skulle søge overalt for at erstatte flere tekstlinjer.
- Med nogle få kommandoer viser vi dig, hvordan du opnår dette uden at skulle bruge yderligere værktøjer.
xINSTALLER VED AT KLIKKE PÅ DOWNLOAD FIL
- Download DriverFix (verificeret downloadfil).
- Klik Start scanning for at finde alle problematiske drivere.
- Klik Opdater drivere for at få nye versioner og undgå systemfejl.
- DriverFix er blevet downloadet af 0 læsere i denne måned.
Windows PowerShell er et af de mest kraftfulde kommandolinjeværktøjer i operativsystemet. Problemet er imidlertid, at brugerne har lidt eller ingen information om dets omfattende evner. For eksempel kan PowerShell finde og erstatte flere tekstlinjer i en fil.
Dette er fantastisk til mange ting, herunder at ændre din kodebase på tværs af flere filer. I denne artikel vil vi forklare, hvordan du erstatter flere tekstlinjer i en fil ved hjælp af PowerShell.
Hvorfor skal jeg erstatte flere linjer i PowerShell?
Flere linjer i PowerShell er en fantastisk måde at gøre dine scripts mere læsbare. De er også nyttige, når du vil bruge et udsagn på flere linjer, men ikke ønsker at dele det op i flere udsagn.
I programmering betyder flere linjer at skrive en enkelt kommando eller instruktion i to eller flere linjer.
Du undrer dig måske over, hvorfor vi skal bruge flere linjer. Den mest åbenlyse årsag er af hensyn til læsbarheden og for at undgå fejl, mens du skriver lange kommandoer en efter en.
Vi kan bruge flere linjer, når vi har mere end én kommando til at udføre samtidigt. Det gør vores kode mere læsbar og lettere at forstå for andre.
Selvom alt dette er fantastisk, foretrækker nogle brugere at erstatte flere linjer i PowerShell. Det er ikke svært at udskifte en linie ad gangen, men det bliver svært og tidskrævende, når det kommer til at udskifte flere linier på én gang.
Hvordan erstatter jeg en linje i PowerShell?
Erstat-operatoren i PowerShell er en praktisk måde at erstatte en streng med en anden streng. For eksempel, hvis du vil erstatte alle forekomster af ordet "test" med ordet "eksamen", kan du bruge følgende kommando:
PS> "test" -Erstat "test", "eksamen"
Erstat-metoden har to parametre:
- Søgestreng, som du vil finde.
- Erstatningsstreng, som du vil bruge i stedet for søgestrengen.
Fra ovenstående eksempel kan du allerede se, at det vil være tidskrævende, hvis du skulle finde og erstatte flere linjer.
For at erstatte flere linjer skal du bruge kommandoen Regex. PowerShell regex-kommandoen har to parametre:
- Match – Giver dig mulighed for at angive et mønster, der skal søges efter i inputstrengen. Du kan også angive flere mønstre adskilt af kommaer.
- Erstatte – Erstatter alle forekomster af det angivne match med den angivne erstatningsværdi.
Det har dog nogle begrænsninger. Det kan kun erstatte den første forekomst af et match inden for en linje. Løsningen vil være at konvertere din kode til en flerlinjet streng.
Når du har konverteret det, vil PowerShell behandle hele inputtet som en enkelt streng, hvilket gør det nemmere at erstatte.
1. Konverter streng
- Tryk på Windows nøgle, type PowerShell i søgefeltet, og klik Kør som administrator.
- Du kan bruge den rå switch til at konvertere flere linjer til én streng i PowerShell. Når du bruger -raw-switchen, skal du angive filnavnet.
- For eksempel, for at konvertere, ville du anvende følgende kommando:
Get-Content C:\user\test1.txt -Raw
- Dette inkluderer filplaceringen og filnavnet.
2. Match streng
Match-parameteren er designet til at finde et eller flere tegn, der matcher et specificeret mønster.
For eksempel, hvis du vil finde alle de ord, der begynder med "c", i din streng, kan du bruge følgende kommando:
[regex]::matches("c*") | hvor-objekt{$_ -som "*c*"}
- Sådan omgår du nemt Netflix-adgangskodedeling
- Hvad er Mobsync.exe og hvordan man deaktiverer det
- Sådan aktiveres Windows Update i registreringsdatabasen [Hurtige trin]
3. Udskift linjer
Når du har fundet de matches, hvor du vil erstatte, kan du udføre erstatningskommandoen som følger:
PS> [regex]::Replace($str, "c", "d")
PowerShells find and replace-metode kan være meget nyttig for mere tekniske brugere. Forhåbentlig har vi med dette indlæg fået en ret solid gennemgang af, hvordan man finder og erstatter en enkelt linje ved hjælp af PowerShell-prompten.
Vi ved nu, at det kan udføres med relativ lethed, og at kommandostrukturen ikke er så svær at følge. Hvis du er nybegynder, gør øvelse mester.
Andre nyttige PowerShell-parametre, du kan være interesseret i, inkluderer StrømShelvede ErrorAction, som vi har diskuteret i detaljer.
Det Try-Catch blok kan også være din tid værd, især hvis du vil fange eventuelle fejl i din kode.
Du er velkommen til at tilføje dine egne tips om andre nyttige oplysninger, vi måtte have udeladt.
Har du stadig problemer? Løs dem med dette værktøj:
SPONSORERET
Nogle driver-relaterede problemer kan løses hurtigere ved at bruge et dedikeret værktøj. Hvis du stadig har problemer med dine drivere, skal du bare downloade DriverFix og få det op at køre med et par klik. Lad det derefter tage over og rette alle dine fejl på ingen tid!