如何使用 Powershell 在 txt 文件中查找特定文本

How to find a specific text in a txt file using Powershell

我有一个 .txt 文件,其中列出了一些用户名。

喜欢:

User1 
User2 
User3

我还有一个 .txt 文件,其中包含一些相同的用户名,以及其他信息:

User1 - user1@txt.com - 12341515 - yes
User2 - user2@txt.com - 13134141 - no

如何从第一个文件开始搜索,第二个文件中搜索用户,然后将第二个文件的完整行输出到一个新的txt文件中。

我试过了,Get-content|where-object,但我不知道如何准确搜索。

文件没有 header。


更新

file1,我要找的用户在哪里是这样的

u16096

原文件2,所有用户信息都是这个顺序

u16096      Y   NAME SURNAME    name.surname@what.com           12345678

我就是这样做的。评论中的解释。我无法准确测试它,我没有您的原始文件,但它应该可以帮助您入门。

# store the values of the 2nd text file in a lookup-map
$userInfos = @{}
Get-Content "file2.txt" | foreach {
    # use the username as lookup key
    $username = $_ -replace '^(\S+).*', ''
    $userInfos[$username] = $_
}

# iterate the 1st file, lookup the user infos, and output to 3rd file
Get-Content "file1.txt" | foreach {
    $userInfos[$_]
} | Out-File "file3.txt"