Извлечь числа из txt-файла

Извлечь числа из txt-файла

У меня есть большой список в текстовом файле с контактной информацией. Мне нужно извлечь номера телефонов из такой структуры:

пример

Мне нужно, чтобы вывод был только с цифрами в тексте, например:

  • 4149611000
  • 4143620851
  • 3605966100
  • 3096949898
  • и т. д.

Какая команда в cmd могла бы решить эту проблему?

решение1

вкратцеperl -lne 'print $1 while /(\d{10})/g' filenames.txt ...


$ cat n.txt
aaaa 0123456789 bbbb
apple banana cucumber
9876543210 ccc ccc ccc
ppp qqq 12345 rrr sss
$ perl -lne 'print $1 if /(\d{10})/' n.txt
0123456789
9876543210

Если в одной строке может быть несколько номеров телефонов, а вам нужны все из них:

$ echo double 1111111111 number 2222222222 here >> n.txt
$ perl -lne 'print $1 while /(\d{10})/g' n.txt
0123456789
9876543210
1111111111
2222222222

Если номер телефона всегда находится в пятом поле, разделенном запятой, вы можете использовать

$ perl -F, -lne 'print $F[4]' m.txt 
PHONE
1234567890
0987654321

Обратите внимание, что в Perl индексы начинаются с 0 (0,1,2, а не 1,2,3).

Или используйте более простые инструменты:

$ cut -d, -f5 m.txt
PHONE
1234567890
0987654321

Вышеуказанное было сделано с использованием WSL в Windows 10, но собственный Windows Perl доступен для командной строки Windows 10. Вот так:

C> perl -lne "print $1 while /(\d{10})/g" n.txt
0123456789
9876543210
1111111111
2222222222

Почти наверняка есть способ сделать это в PowerShell (хотя, вероятно, придется больше печатать)

решение2

Используя Powershell, попробуйте следующие командлеты:

Get-Content -Path C:\path\to\yourfile.txt | Select-String "\d{10}" -AllMatches | ForEach {$_.Matches} | Select Value

ИЛИ

Select-String -Path "C:\path\to\yourfile.txt" -Pattern "\d{10}" -AllMatches | Select -ExpandProperty Matches | Select Value

Это отобразит только 10-значные числа. Если вы хотите получить вывод в файле:

Get-Content -Path C:\path\to\yourfile.txt | Select-String "\d{10}" -AllMatches | ForEach-Object {$_.Matches} | Select Value | Out-File output.txt

Связанный контент