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
fc
Sie müssen dies nicht findstr
tun. Ein einfacher for /f
Befehl 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
- Ein AZ-Index der Windows CMD-Befehlszeile
- Eine kategorisierte Liste von Windows CMD-Befehlen
- für /f- Befehl mit den Ergebnissen eines anderen Befehls wiederholen.
- Umleitung- Umleitungsoperatoren.
- Typ- Zeigt den Inhalt einer oder mehrerer Textdateien an.