Ich brauche einen schnellen und effizienten Ansatz für das folgende Problem (Ich arbeite mit vielen Dateien.) Aber zum Beispiel:grep Spiele zwischen zwei Dateien und konvertiert in Kleinbuchstaben
Ich habe zwei Dateien: file2
Hello
Goodbye
Salut
Bonjour
und file1
Hello, is it Me you're looking for?
ich möchte jedes Wort in der Datei 2 finden, die 2 in der Datei vorhanden ist, und wandeln dann das Wort Fall zu senken.
kann ich die Wörter in einer Datei mit grep, indem Sie:
grep -f file2.txt file1.txt
und gibt
Hello
So, jetzt ich
hello
so umwandeln möchten, dass die endgültige Ausgabe ist
hello, is it Me you're looking for?
Wo, wenn ich passen mehrere Dateien:
grep -f file2.txt *_infile.txt
Die Ausgabe wird in jeweils separaten Outfiles gespeichert werden.
Ich weiß, dass ich in Kleinbuchstaben mit etwas wie tr konvertieren kann, aber ich weiß nur, wie man das bei jeder Großschreibung tut. Ich möchte nur die Wörter zwischen zwei Dateien von Großbuchstaben in Kleinbuchstaben konvertieren.
Danke.
danke - ich gab dies an, aber die Ausgabe nach dem Perl-Skript ist nicht die ursprüngliche Datei mit den gewünschten Worten unkapitalisiert, sondern eher, was wie eine Mischung der ursprünglichen Text und Wingdings aussieht. Ich denke, der Perl-Befehl fügt Sonderzeichen ein – brucezepplin
Es ist 'grep --color = immer', die Sonderzeichen einfügen, die als Markierungen verwendet werden. 'perl' soll sie entfernen und markierte Orte konvertieren. Ich habe die (angebliche) Mark-Sequenz aktualisiert, aber ich bin mir immer noch nicht sicher, ob es tragbar genug ist. Könnten Sie bitte 'grep --color = immer -f datei2.txt datei1.txt | ausführen Kopf -1 | hexdump' und zeigt die Ausgabe an. Vielleicht verwendet Ihr System verschiedene Escape-Sequenzen, um die Terminal-Ausgabe zu kolorieren. – user3159253
fantastisch das gibt richtig aus - ich habe 'U' in' L' umgewandelt, um in Kleinbuchstaben umzuwandeln. Vielen Dank. – brucezepplin