Ho un file sorgente che è una combinazione di più file che sono stati uniti. Il mio script dovrebbe separarli nei singoli file originali.Come si conservano gli spazi bianchi iniziali con echo su uno script di shell?
Ogni volta che incontro una linea che inizia con "FILENM", significa che è l'inizio del file successivo.
Tutte le righe di dettaglio nei file sono a larghezza fissa; quindi, al momento sto riscontrando un problema in cui una riga che inizia con i principali spazi bianchi viene troncata quando non si suppone venga troncata.
Come si migliora questo script per mantenere gli spazi bianchi iniziali?
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
Ti meriti un oscar per quello. – xdevs23