Eu tenho um arquivo de largura de banda. Abaixo está a amostra:
0196969696645001200 1100450000000000TEST1 / TECHNOLOTEST 97827Y
0196969696645001500 1100450000000000TEST222 EXPRESS - CMTEST 97827Y
0196969696600701325 7003150000000000TEST33333 70215U
0196969696621055400 1476210000000000TEST44444SE - CMC AUERSTEST 97803Y
Exemplo de arquivo de metadados:
COL1,1,2
COL2,3,19
COL3,22,27
COL4,28,33
COL5,34,37
COL6,38,40
COL7,78,81
Descrição do problema: Leia o arquivo de metadados (posição inicial e final) para cada coluna e crie um arquivo para cada coluna tomando como referência o arquivo de largura de correção.
Meu código:
feed_file=$1
metadata_file=$2
if [ $# -lt 2 ]
then
echo "Insufficient Number of Parameters passed"
echo "Usage <FEED FILE NAME> <META DATA FILE NAME>"
exit 1
fi
#Read metadata file and create feed file for each attribute
while read line
do
attrib_name='echo $line | cut -d "," -f1'
beg_point='echo $line | cut -d "," -f2'
end_point='echo $line | cut -d "," -f3'
echo "$attrib_name || $beg_point || $end_point"
range=$beg_point-$end_point
cat $feed_file | cut -c $range > $attrib_name
done < $metadata_file
Error: cut: bad list for c option