1

У меня есть файл с именем file.txt который содержит

American 9876543 america@gmail.com
Australian 7674840 Australia@mail.com
Indian 9364906 india@ymail.com
Chinese 6383936 china@mail.com
Japanese 9363839 Japan@hotmail.com

Теперь я хочу отфильтровать три вещи из этого файла в качестве вывода в другом текстовом файле.

Например,

выходной file1.txt - должен содержать все почтовые идентификаторы

america@gmail.com
Australia@mail.com
india@ymail.com
china@mail.com
Japan@hotmail.com

выходной file2.txt - должен содержать все числа

9876543
7674840
9364906
6383936
9363839

выходной file3.txt - должен содержать только слово последовательности, начинающееся с А,

например,

American
Australian

Для этого я попытался использовать команду FC и команды Findstr .. И я понятия не имею, как сделать это с этими командами правильно.

Пожалуйста помоги.. Спасибо заранее ..

1 ответ1

2

Я хочу отфильтровать три вещи из этого файла как вывод в другом текстовом файле

Вам не нужно fc или findstr чтобы сделать это. Подойдет простая команда for /f .

Используйте следующий пакетный файл (test.cmd):

@echo off
setlocal enabledelayedexpansion
for /f "usebackq tokens=1-3" %%a in (`type file.txt`) do (
  echo %%a >> file3.txt
  echo %%b >> file2.txt
  echo %%c >> file1.txt
  )
endlocal

Пример использования:

> type file.txt
American 9876543 america@gmail.com
Australian 7674840 Australia@mail.com
Indian 9364906 india@ymail.com
Chinese 6383936 china@mail.com
Japanese 9363839 Japan@hotmail.com

> test

> type file1.txt
america@gmail.com
Australia@mail.com
india@ymail.com
china@mail.com
Japan@hotmail.com

> type file2.txt
9876543
7674840
9364906
6383936
9363839

> type file3.txt
American
Australian
Indian
Chinese
Japanese

Дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .