Ich habe eine Quelldatei, die eine Kombination aus mehreren Dateien ist, die zusammengeführt wurden. Mein Skript soll sie in die ursprünglichen einzelnen Dateien trennen.Wie behalte ich führende Leerzeichen mit Echo in einem Shell-Skript?
Immer wenn ich auf eine Zeile stoße, die mit "FILENM" beginnt, bedeutet dies, dass es der Anfang der nächsten Datei ist.
Alle Detailzeilen in den Dateien sind feste Breite; Ich habe gerade ein Problem, bei dem eine Zeile, die mit führenden Leerzeichen beginnt, abgeschnitten wird, wenn sie nicht abgeschnitten werden soll.
Wie verbessere ich dieses Skript, um die führenden Leerzeichen beizubehalten?
while read line
do
lineType=`echo $line | cut -c1-6`
if [ "$lineType" == "FILENM" ]; then
fileName=`echo $line | cut -c7-`
else
echo "$line" >> $filePath/$fileName
fi
done <$filePath/sourcefile
Sie verdienen einen Oscar dafür. – xdevs23