Text oder Sequenz aus der Textdatei per Batch?

Text oder Sequenz aus der Textdatei per Batch?

Ich habe die Datei mit dem Namen file.txt, die enthält,

American 9876543 [email protected]
Australian 7674840 [email protected]
Indian 9364906 [email protected]
Chinese 6383936 [email protected]
Japanese 9363839 [email protected]

Jetzt möchte ich drei Dinge aus dieser Datei filtern und in einer anderen Textdatei ausgeben.

Zum Beispiel,

Ausgabe file1.txt- muss alle Mail-IDs enthalten

[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

Ausgabe file2.txt- muss alle Zahlen enthalten

9876543
7674840
9364906
6383936
9363839

Ausgabe file3.txt- muss nur das Sequenzwort enthalten, das bei A beginnt,

Zum Beispiel,

American
Australian

Dazu habe ich versucht, die Befehle FC und Findstr zu verwenden. Und ich habe keine Ahnung, wie ich das mit diesen Befehlen richtig mache.

Bitte helfen Sie. Danke im Voraus.

Antwort1

Ich möchte drei Dinge aus dieser Datei als Ausgabe in einer anderen Textdatei filtern

fcSie müssen dies nicht findstrtun. Ein einfacher for /fBefehl reicht aus.

Verwenden Sie die folgende Batchdatei (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

Anwendungsbeispiel:

> type file.txt
American 9876543 [email protected]
Australian 7674840 [email protected]
Indian 9364906 [email protected]
Chinese 6383936 [email protected]
Japanese 9363839 [email protected]

> test

> type file1.txt
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

> type file2.txt
9876543
7674840
9364906
6383936
9363839

> type file3.txt
American
Australian
Indian
Chinese
Japanese

Weitere Informationen

verwandte Informationen