Ich habe ein paar andere Fragen dazu gelesen, aber keine von ihnen scheint zu funktionieren. Ich versuche gerade, etwas wie Datei A.txt mit dem Trennzeichen "STOPHERE" zu teilen.Verwenden Sie awk, um Textdatei in mehrere Dateien zu trennen
Dies ist der Code:
#!/bin/bash
awk 'BEGIN{
RS = "STOPHERE"
file = 0}
{
file++
print $0 > ("sepf" file)
}' A.txt
Datei A:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa lwdjnuqqfqaaaaaaaaaa qlknfqek fkgnl efekfnwegelflfne
ldnwefne f STOPHEREsdfnkjnf nnnnnnnnnnnnnnnnnnnnnnnasd fefffffffffffffflllo
aldn3orn STOPHERE
fknjke bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbowqff STOPHERE i
asfjfenf STOPHERE
In diese:
sepf1:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa lwdjnuqqfqaaaaaaaaaa qlknfqek fkgnl efekfnwegelflfne
ldnwefne f
sepf2:
sdfnkjnf nnnnnnnnnnnnnnnnnnnnnnnasd fefffffffffffffflllo
aldn3orn
sepf3:
#line starts here
fknjke bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbowqff
sepf4:
i
asfjfenf
Also im Grunde die Formatierung genau zwischen dem STOPHERE der gleich bleiben.
Aber aus irgendeinem Grund, dies ist die Art der Ausgabe in einigen der Dateien, die ich bin immer:
ZB:
TOPHEREsdfnkjnf nnnnnnnnnnnnnnnnnnnnnnnasd fefffffffffffffflllo
aldn3orn
Irgendwelche Ideen, warum die „Tophere“ bleibt sepf2? ?
Das sagt nur das erste Zeichen als Trennzeichen http://www.staff.science.uu.nl/~oostr102/docs/nawk/nawk_19.html Aufzeichnung verwendet wird – Bob
Gibt es irgendeine Weise, die ich ändern kann, so dass es das ganze Wort benutzt? – Neamah
Probieren Sie Nawk oder Gawk abhängig von Ihrem Betriebssystem. Sie erlauben eine Regex. – Bob