2021-01-25

Select-String:資料來源 變數

字串陣列
物件屬性
使用管線 (字串 vs FileInfo)
之前找到的結果(MatchInfo物件)
取得字串陣列
PS R:\> $allLines = gc 1.txt
PS R:\> $allLines
aaaaa
bbbbb
ccccc
ddddd
eeeee
PS R:\>

字串陣列

使用管線
PS R:\> $allLines | Select-String -Pattern 'bb'

bbbbb


PS R:\>
另一種寫法
PS R:\> $allLines | Select-String -Pattern 'bb' -InputObject {$_}

bbbbb


PS R:\>
不使用管線,單獨使用 -InputObject
PS R:\> Select-String -Pattern 'bb' -InputObject $allLines

aaaaa bbbbb ccccc ddddd eeeee


PS R:\>

物件屬性

從物件屬性尋找字串:
    1.物件or命令放在管線左邊
    2.使用-inputObject {$_.屬性名}
PS R:\> dir *.txt | Select-String -Pattern '\.txt' -InputObject {$_.FullName}

R:\1.txt
R:\2.txt


PS R:\> dir *.txt | Select-String -Pattern '2021' -InputObject {$_.LastWriteTime}

07/15/2021 19:19:12
07/15/2021 19:32:42

使用管線 (字串 vs FileInfo)

字串:由 -InputObject 接收
PS R:\> $allLines = gc 1.txt
PS R:\> $allLines | Select-String -Pattern 'bb'

bbbbb


PS R:\>
FileInfo:由 -Path 接收
PS R:\> $file = dir 1.txt
PS R:\> $file | Select-String -Pattern 'bb'

1.txt:2:bbbbb


PS R:\>

之前找到的結果(MatchInfo物件)


PS R:\> $allLines | Select-String -Pattern 'bb','ee'

bbbbb
eeeee


PS R:\> $allLines | Select-String -Pattern 'bb','ee' | Select-String -Pattern 'bb'

bbbbb


PS R:\>
另一種寫法
PS R:\> $r = $allLines | Select-String -Pattern 'bb','ee'
PS R:\> $r | Select-String -Pattern 'bb'

bbbbb


PS R:\>

沒有留言:

張貼留言