Gibt es eine Möglichkeit, aufsteigende oder absteigende Zahlen gleichzeitig in mehrere Textdateien einzufügen?

0

Ich habe 100 Notizblockdateien mit folgendem Text:

"john geht nach hause
seine tür nummer ist 0001 "

Hinweis: Die Nummer 0001 oder eine andere Nummer wurde in allen 100 Textdokumenten verwendet.

In allen verbleibenden Dateien muss die Türnummer in 0002, 0003, 0004 geändert werden. Usw. Ich möchte sie nicht ändern, indem ich jede Datei 100 Mal öffne, aber ich muss sie sofort ausführen, ohne alle von bearbeiten zu müssen einer. In Notepad ++ gibt es die Option zum Ersetzen, aber ich habe keine Ahnung, wie es funktioniert, und bin mir nicht sicher, ob dies möglich ist. Kann dieser Zweifel in Notepad ++ ausgeräumt werden? oder gibt es eine andere Software dafür?

Abd
quelle
Also text1.txthätte "john is going home his door number is 0001", text2.txthätte "john is going home his door number is 0002", text3.txthätte "john is going home his door number is 0003", und so weiter ... oder müssen sie alle haben "john is going home his door number is 0001"?
txtechhelp
danke für die Antwort. Ihre erste Vermutung ist richtig. text2.txt hätte "John geht nach Hause, seine Türnummer ist 0002", text3.txt hätte "John geht nach Hause, seine Türnummer ist 0003" und so weiter.
Abd
Ist das mit notepad ++ möglich? oder irgendein Vorschlag?
Abd
Sie können notepad ++ verwenden, um Werte mit regulären Ausdrücken zu erfassen und zu ersetzen , sodass Sie alle mit "john ... 0001" suchen und ersetzen können, aber ich weiß nicht, ob Sie eine inkrementelle Ersetzung durchführen können, wie Sie es möchten könnte dies mit einem VBScript ziemlich einfach machen, wenn Sie mit dem Skripting
vertraut sind
Vielen Dank. Ich bin nicht gut genug in VBScript, aber ich weiß ein bisschen davon. Ich denke, ich muss hart über das Internet recherchieren, um eine Lösung für diese Aufgabe zu finden. Mal sehen. Noch einmal vielen Dank. :)
Abd

Antworten:

0

Ich weiß nicht, ob Sie unter Windows Zugriff auf eine Unix-Umgebung oder Cygwin haben, aber ich denke, dieses kleine Bash-Skript, das ich aus einem alten Skript, das ich für Ihr Beispiel geschrieben und modifiziert habe, recycelt habe, funktioniert folgendermaßen:

#!/bin/bash

for line in {1..100}
    do
        digs=${#line}
        zeros=$((4 - $digs))
        zeros2=$(yes 0 | head -$zeros | paste -s -d '' -)
        numm=$zeros2$line
        printf "john is going home\nhis door number is %s\n" $numm > text$numm.txt
    done
Serhat Cevikel
quelle
Vielen Dank, Cevikel, das ist die Methode, nach der ich genau suche, aber ich habe sie noch nicht ausprobiert, da ich mit der Unix-Umgebung und Cygwin nicht so vertraut bin. Deshalb muss ich Cygwin zuerst unter Windows installieren und dann dein Training durchlaufen. Ich werde googeln, wie man dieses Bash-Skript von Cygwin in eine Datei speichert und es dann ausführt. Ich habe fast eine Hilfe von dir bekommen. Ich werde es versuchen, dann lass es dich wissen. wenn u etwas mehr Zeit erübrigen können pls tun lassen Sie mich wissen , wie diese Datei zu speichern und führen Sie es in Win 7. thank u Freund
Abd
Ich werde versuchen, eine Möglichkeit zu finden, dieses Skript auf Windows Shell zu portieren.
Serhat Cevikel
hoffe du schaffst das
Abd
Ich habe Cygwin unter Windows 7 installiert. Können Sie mir mitteilen, wie dieses Bash-Skript ausgeführt wird? danke
Abd
Sie speichern das Skript in einer Datei (vorzugsweise mit der Erweiterung .sh). Die erste Zeile sollte sein, #!/bin/bashwenn die Standard-Shell Ihres Benutzers bash ist. Sie machen das Skript ausführbar mit chmod +x /path/to script. Jetzt können Sie den Pfad zum Skript eingeben und ausführen. Um das Skript zu einem Befehl zu machen, der überall ausführbar ist, sollten Sie einen Symlink zu einem der Pfade setzen, die in Ihrer Umgebungsvariablen $ PATH angegeben sind. Fox Beispiel:ln -s /path/to/script /usr/bin/your_command
Serhat Cevikel