Hallo, ich habe eine große Datei wie:Extrahieren einer Zeichenfolge in Anführungszeichen aus einer Textdatei, auch wenn die Zeile umgebrochen
Hi This is a file from and the filename= "file1.txt"
Hello find the filename... filename = "the name of this file is too huge and
goes to the next line but enclosed with double quotes.txt"
There is another file with the filename="file2.txt" size
is "333kb";
Meine beabsichtigte Ausgabe ist die Dateinamen-Strings nur, ohne Zeilenumbrüche vorhanden, in eine röhrengetrennte Zeichenkette, wie die folgende:
file1.txt | the name of this file is too huge and goes to the next line but enclosed with double quotes.txt | file2.txt
Ich benutzte den untenstehenden sed Befehl, aber das Ergebnis ist nicht wie erwartet. Es gibt nur den Dateinamen in der gleichen Zeile aus.
sed -n 's/^.*filename="\(.*\)".*/\1/p
Bitte helfen Sie mir diese Arbeit zu bekommen, Dank im Voraus.
Warum "mit' sed'" als Voraussetzung? Warum lassen Sie nicht die Person, die die Frage beantwortet, das beste Werkzeug für den Job vorschlagen, selbst wenn sie zufällig denken, es sei "awk" oder native Logik in bash oder etwas anderes? –
Außerdem ist momentan nicht klar, welche Zeilenumbrüche in Ihrem Text literal sind oder nicht, da die "Dateiinhalte" als umbrochener Text gerendert werden. Sollen die '' 'Zeilenumbrüche anzeigen? –
Es würde auch helfen, "riesig" mit einigen tatsächlichen Zahlen zu quantifizieren, um ein realistisches Benchmarking zu ermöglichen. –