Source file looks like:
Pre-delivery;1234567 Post-delivery;7654321
Lookup file:
1234567;A 7654321;B
Output should be:
Pre-delivery;A Post-delivery;B
Source file looks like:
Pre-delivery;1234567 Post-delivery;7654321
Lookup file:
1234567;A 7654321;B
Output should be:
Pre-delivery;A Post-delivery;B
Done in 10 minutes ..
Not well optimized solution
- its reading the whole file for every row which is found in lookup file
#https://stackoverflow.com/questions/54087831/lookup-on-file-and-output
#inspired by https://stackoverflow.com/questions/33511772/read-file-line-by-line-in-powershell
<#
source file
Pre-delivery;1234567
Post-delivery;7654321
lookup file
1234567;A
7654321;B
result
Pre-delivery;A
Post-delivery;B
#>
$sourceFile=".\foosource.txt"
$lookup=".\foolookup.txt"
# read lookup file line by line
foreach($lineLookup in Get-Content $lookup) {
#read source data file line per line
foreach($line in Get-Content $sourceFile) {
#prepare variables
$splitLookup=$lineLookup.Split(";")
$splitSource=$line.Split(";")
#if equals
if($splitLookup[0] -eq $splitSource[1]){
#print in the given format
$result = $splitSource[0].Trim()+";"+$splitLookup[1].Trim()
Write-Host $result
}
}
}