Använda PowerShell för att läsa textfiler och ersätta text

Anvanda Powershell For Att Lasa Textfiler Och Ersatta Text



PowerShell är ett verktyg som ansvarar för att utföra alla admin- och automationsuppgifter. Den kan hantera alla File Explorer-operationer som att kopiera, byta namn på, flytta eller ta bort filer. Mer specifikt har PowerShell flera cmdlets som kan läsa textfiler och även ersätta texten i dessa filer. Men den ' Get-Content ' cmdlet används för att läsa filer med ' -byta ut ” för att ersätta texten.

Den här bloggen kommer att diskutera metoder för att fixa den nämnda frågan.

Hur läser man textfiler och ersätter text med PowerShell?

Nu kommer vi att diskutera de två procedurerna för att läsa textfiler och ersätta text separat och i kombination.







Metod 1: Läs textfiler med PowerShell 'Get-Content'-kommandot

den ' Get-Content ” cmdlet används i PowerShell för att läsa textfiler. Denna cmdlet visar textfildata i PowerShell-konsolen.



Exempel 1: Läs en enskild textfil

Det här exemplet kommer att visa hur man läser textfiler med hjälp av ' Get-Content ' cmdlet. Men låt oss först skapa en textfil med hjälp av ' Ut-fil ' cmdlet.



'Det här är lite text' | Ut -Fil C:\Doc\File.txt

Enligt ovanstående kod:





  • Lägg först till strängen inom det inverterade kommandot.
  • Lägg sedan till en pipeline ' | ” för att överföra resultatet av föregående kommando till nästa kommando.
  • Använd sedan ' Ut-fil ” cmdlet tillsammans med filsökvägen för att exportera utdata till en textfil:

Låt oss läsa innehållet i den exporterade textfilen med hjälp av ' Get-Content ' cmdlet med filsökvägen:



Get-Content C:\Doc\File.txt

En enskild textfil lästes.

Exempel 2: Läs alla textfiler i en specificerad katalog

Denna demonstration hjälper dig att läsa alla textfiler som finns tillgängliga i respektive katalog:

Get-Content C:\Doc\ * .Text

Lägg först till ' Get-Content 'cmdlet tillsammans med mappadressen och lägg till jokertecken' * ' tillsammans med ' .Text ”-tillägg för att läsa alla textfiler i respektive mapp:

Alla textfiler lästes in i en katalog framgångsrikt.

Metod 2: Ersätt text med PowerShell '-replace' parameter

den ' -byta ut ” parameter används för att ersätta text i en sträng. Det krävs två ordinstanser separerade med ett kommatecken. Det här alternativet fungerar på ett sådant sätt att det söker efter det första ordet och ersätter det med det andra ordet.

Exempel 1: Ersätt text i en sträng

Ersätt nu textinstanserna inom en strängtilldelad variabel:

$str = 'Hej jorden'

$str -byta ut 'Jorden' , 'Mars'

Enligt ovanstående kod:

  • Lägg först till en variabel och tilldela den en textsträng.
  • Efter det, på nästa rad, specificera variabeln och ' -byta ut ” operator tillsammans med de två orden separerade med kommatecken.
  • Det första ordet kommer att sökas i en sträng och ersättas med det andra:

Man kan konstatera att ' Jorden ' har ersatts av ' Mars ”.

Exempel 2: Ersätt alla textinstanser i en fil

Det här exemplet kommer att visa att alla textinstanser ersätts i den angivna textfilen:

( Get-Content C:\Doc\File.txt ) -Byta ut 'Katt' , 'Hund' | Set-Content C:\Doc\File.txt

Enligt ovanstående kod:

  • Skriv först ' Get-Content ” cmdlet tillsammans med filadressen inom små parenteser.
  • Efter det lägger du till ' -byta ut ” parameter och lägg till två ord inom inverterade kommatecken separerade med kommatecken.
  • Lägg sedan till en pipeline ' | ' och använd ' Set-Content ' bredvid målfilens sökväg:

Låt oss kontrollera den ersatta texten genom att utföra kommandot nedan:

Get-Content C:\Doc\File.txt

Det kan observeras att de olika textinstanserna inuti en fil framgångsrikt ersattes.

Slutsats

PowerShell använder ' Get-Content ” cmdlet tillsammans med sökvägen för att läsa textfiler. För att ersätta text, lägg först till strängen eller filsökvägen med 'Get-Content' och lägg sedan till ' -byta ut ” parameter bredvid två ord separerade med kommatecken. Det här inlägget har utarbetat en detaljerad guide för att läsa och ersätta text i PowerShell separat eller samtidigt.