Verzeihen Sie, wenn das eine triviale Frage ist, habe ich nicht viel Erfahrung damit.Klammern am Anfang und Ende der Datei (JSON) hinzufügen
Ich habe eine Datei, die wie folgt aussieht:
{text},
{text},
{text},
{text},
ich es wie dieser
[{text},
{text},
{text},
{text}]
Hinweis sehen mag, dass das letzte Komma entfernt wird, und dass es jetzt eckige Klammern an der Anfang und das Ende der Datei.
Also, ich habe Tausende von Dateien in einem Verzeichnis, und jede Datei muss dafür repariert werden.
Ich vermute, ich habe irgendwie sed verwenden, aber ich weiß wirklich nicht, wie es geschehen zu lassen und will sie nicht manuell, da es mit VIM tun gibt so viele Dateien ...
EDIT:
ich zu verwenden versucht:
sed -i '1s/^/\[/;$s/,$/\]/' *
wie codeforester vorgeschlagen. Ich erhalte eine Fehlermeldung, dass „Argument Liste zu lang“ ...
ich das Skript kopiert Sie schrieb und es lief wie geschrieben. (außer dem -name '* .json' habe ich gerade -name '*'). So oder so, als ich das tat, passierte nichts mit den Dateien ... d. H. Die Klammern waren nicht da und das letzte Komma wurde nicht entfernt. Außerdem muss ich nur das Komma in der letzten Zeile entfernen, nicht alle Zeilen. – shishy
Sicher, wenn Sie '-name ''' verwenden, wird keine Datei passen. Wenn Sie sich nicht um den Dateinamen kümmern, lassen Sie die Option '-name' komplett weg. Aber seien Sie vorsichtig und erstellen Sie eine Sicherungskopie, bevor Sie dies ausführen (Nur um sicher zu sein, dass Sie nicht etwas Wichtiges in der Frage erwähnt haben). Beachten Sie, dass 'find' rekursiv ausgeführt wird, dh es werden auch Dateien in Unterordnern behandelt. Wenn du das nicht willst, benutze '-maxdepth 1' – hek2mgl
Ich habe alle Dateien im selben Verzeichnis (alle Unterordner zusammengelegt) – shishy