Я хочу набрать слова, и скрипт напечатает строки, содержащие слова.
У меня есть следующие данные в папке foods.txt
1;400;100000;pizza tea
11;178;56124;coke hamburger
7;777;20000;sprite pizza
10;150;100000;coke sandwich fries
Так, например, если я набираю пиццу, она печатает первую и третью строку:
1;400;100000;pizza tea
7;777;20000;sprite pizza
Мой скрипт может фильтровать по одному слову, но я не знаю, как сделать так, чтобы он фильтровал по всем заданным словам, поэтому, если я наберу: tea fries
, он должен распечатать первую и последнюю строку.
Я думал о фильтрации основного файла, а затем перенаправить его в другой файл, отфильтровать этот файл или что-то в этом роде?
$word = Read-Host "Type in the words"
Copy-Item foods.txt first.txt
foreach ($i in Get-ChildItem *first.txt) {
$filtered = Get-Content "foods.txt" | % {
if ($_ -match "$word") {
Write-Host $_
}
}
$filtered >> second.txt
Copy-Item second.txt first.txt
}
Get-Content second.txt
Remove-Item first.txt
Remove-Item first.txt