Sådan finder og erstatter du flere linjer i PowerShell

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

For at løse forskellige pc-problemer anbefaler vi DriverFix:Denne software vil holde dine drivere oppe og køre, og dermed holde dig sikker mod almindelige computerfejl og hardwarefejl. Tjek alle dine drivere nu i 3 nemme trin:
  1. Download DriverFix (verificeret downloadfil).
  2. Klik Start scanning for at finde alle problematiske drivere.
  3. 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

  1. Tryk på Windows nøgle, type PowerShell i søgefeltet, og klik Kør som administrator.
  2. 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.
  3. For eksempel, for at konvertere, ville du anvende følgende kommando: Get-Content C:\user\test1.txt -Raw
  4. 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*"}

Læs mere om dette emne
  • 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!

Sådan oprettes og køres Shell-scripts på Windows [trin-for-trin]

Sådan oprettes og køres Shell-scripts på Windows [trin-for-trin]PowershellWindows 10Windows 11

Du skal aktivere Windows Linux-undersystemet, før du opretter et scriptEt shell-script kan hjælpe med at udføre gentagne automatiserede opgaver såsom backup og softwareinstallationer via kommandoli...

Læs mere
Fix: PowerShell Export-CSV Adgang til stien nægtes

Fix: PowerShell Export-CSV Adgang til stien nægtesMicrosoft PowershellPowershellWindows 11

Du skal have tilladelser på administrativt niveau for at få adgangNogle PowerShell-brugere har oplevet at blive nægtet adgang til en sti efter at have indtastet Export-CSV-cmdlet'en.Dette kan skyld...

Læs mere
Windows kan ikke finde PowerShell.exe: 5 måder at løse det på

Windows kan ikke finde PowerShell.exe: 5 måder at løse det påPowershellWindows 11

Prøv at opdatere PowerShell til den nyeste versionWindows PowerShell er et kraftfuldt script- og automatiseringsværktøj, der giver dig mulighed for at udføre administrative opgaver i Windows.Hvis d...

Læs mere