2013-12-10 58 views
0

我正在使用StackOverflow上的查找和替換腳本。powershell替換「ID =一個長號」

Get-Content test.txt | ` 
ForEach-Object { $_ -replace "foo", "bar" } | ` 
Set-Content test2.txt 

只要我在尋找foo並且想用條代替它,這個工作很好。

我的問題是,我想替換ID =「123456789」,其中數字每次都不一樣。所以我唯一知道的就是我想搜索「ID =」,其餘的是可變的。當我用我的好朋友找到這個問題的答案時,我什麼也沒得到,因爲這個單詞變量就在它裏面。

回答

2

的-replace opeartor的第一個參數是一個正則表達式,所以:

Get-Content test.txt | 
ForEach-Object { $_ -replace "ID=\d+", "bar" } | 
Set-Content test2.txt 

此外,-replace運算將工作一樣好一個陣列上,所以,除非你的文件是真的,你也可以大這樣做:

(Get-Content test.txt) -replace "ID=\d+", "bar" | Set-Content test2.txt 
+0

謝謝你的rappid答覆! 我會測試這個,但它是可行的改變「酒吧」到當前「yearmonthday_hourminute」,這將是偉大的! – user3088972