-Path 檔名
-Path FileInfo物件
-Encoding 參數
用 gc 讀取TXT,尋找比較慢
顯示檔案內容
PS R:\> gc 1.txt
aaaaa
bbbbb
ccccc
ddddd
eeeee
PS R:\> gc 2.txt
aaa
bbb
-Path 檔名
一個檔名
PS R:\> Select-String -Pattern 'bb' -Path 1.txt
1.txt:2:bbbbb
PS R:\>
二個檔名
PS R:\> Select-String -Pattern 'bb' -Path 1.txt,2.txt
1.txt:2:bbbbb
2.txt:5:bbb
檔名:第幾行:行的內容
PS R:\>
使用萬用字元
PS R:\> Select-String -Pattern 'bb' -Path *.txt
1.txt:2:bbbbb
2.txt:5:bbb
PS R:\>
-Path FileInfo物件
使用FileInfo物件
PS R:\> Select-String -Pattern 'bb' -Path (dir *.txt)
1.txt:2:bbbbb
2.txt:5:bbb
PS R:\> $r = dir *.txt
PS R:\> Select-String -Pattern 'bb' -Path $r
1.txt:2:bbbbb
2.txt:5:bbb
PS R:\>
使用管線:傳送FileInfo物件給 Path參數
PS R:\> dir *.txt | Select-String -Pattern 'bb'
1.txt:2:bbbbb
2.txt:5:bbb
PS R:\>
PS R:\> dir *.txt | Select-String -Pattern 'bb' -Path {$_}
1.txt:2:bbbbb
2.txt:5:bbb
PS R:\>
PS R:\> dir *.txt | Select-String -Pattern 'bb' -Path {$_.FullName}
1.txt:2:bbbbb
2.txt:5:bbb
PS R:\>
Path參數值必須是檔案名稱
PS R:\> Select-String -Pattern 'bb' -Path R:\
Select-String : 無法讀取檔案 R:\: 拒絕存取路徑 'R:\'。
-Encoding 參數
顯示檔案內容(ANSI編碼格式)
PS R:\> gc ansi.txt
一一一
二二二
三三三
四四四
五五五
PS R:\>
沒反應
PS R:\> Select-String -Pattern '二' -Path ansi.txt
PS R:\>
當檔案的編碼格式是ANSI
它沒有BOM
會被當作 utf8 來讀取
-Encoding default
PS R:\> Select-String -Pattern '二' -Path ansi.txt -Encoding default
ansi.txt:2:二二二
PS R:\>
ANSI編碼格式,需要用到 -Encoding default
其他編碼格式,例如:unicode、utf8、utf8BOM
不需要指定 -Encoding
如果有BOM,一切以BOM為準
如果沒有BOM,預設是utf8
用 gc 讀取TXT,尋找比較慢
比較慢
PS R:\> gc 1.txt | Select-String -Pattern 'bb'
bbbbb
PS R:\>
比較快
PS R:\> Select-String -Pattern 'bb' -Path 1.txt
1.txt:2:bbbbb
PS R:\>
參考:
https://www.pstips.net/snare-of-select-string.html
沒有留言:
張貼留言