Ich versuche, das Variablen $ d, $ tf_name, $ db_orig in der folgenden Schleife will eine file.I erstellt speichern mit einer Lasche am Ende getrennt Meine_Datei.txt die enthalten Die folgenden Felder $ d, $ tf_name, $ db_orig und jede Iteration dieses Variablensatzes werden in einer neuen Zeile in der Datei MY_FILE.txt gespeichert.Wie Variablen von der Schleife zum Speichern in eine Datei
MY_ARRAY=()
for d in */
do
IN=$d
folderIN=(${IN//_/ })
tf_name=${folderIN[-1]%/*}
db_orig=${folderIN[-2]%/*};
ENTRY="$d\t$tf\t$id\t$db_orig\n"
MY_ARRAY+=$ENTRY
done
$MY_ARRAY > MY_FILE.txt
Es erkennt nicht \ t und \ n als TAB bzw. NEWLINE. Es speichert alle Werte nebeneinander in derselben Zeile ohne TAB im Array MY_ARRAY.
Irgendwelche Hilfe?
@elpavlos wieder aktualisiert. Sie können die Verwendung des Arrays vermeiden, wenn Sie möchten. –
Vielen Dank Georgios. Problem gelöst, Datei erstellt! – elpavlos
Eine andere Frage ist gerade aufgetaucht. In einigen Fällen existieren einige der Variablen nicht. Nehmen wir an, für die dritte Iteration hat $ db_orig keinen Wert. Wäre es möglich, die dritte Zeile in der Datei ($ d, $ tf, $ id) zu erstellen und NA oder nur leer in diesem spezifischen Feld $ db_orig zu haben? In meinem Skript gibt es für solche Fälle überhaupt keinen Eintrag. – elpavlos