Concatenar strings após a variável substituir strings [closed]

0

Eu tenho abaixo o script:

#!/bin/bash
cat list.txt | while IFS='' read -r a; 
#Remove all illegal characters
do
   a=${a//  /_}
   a=${a// /_}
   a=${a//\'/}
   a=${a//-/_}
   a=${a,,}
   filepath="/applications/"
   b=$filepath$a".csv"
   echo $b
done

Os resultados esperados devem ser:

/applications/ahold_region
/applications/alb_sfy_region
/applications/awg_census_region
/applications/bjs_total_ta
/applications/delhaize_region
/applications/dollar_value_area

Os resultados reais são:

.csvlications/ahold_region
.csvlications/alb_sfy_region
.csvlications/awg_census_region
.csvlications/bjs_total_ta
.csvlications/delhaize_region
.csvlications/dollar_value_area

Parece que o bash está usando .csv para substituir os primeiros 4 caracteres em $filepath .

Como gerar os resultados esperados?

    
por lovechillcool 19.01.2018 / 18:33

1 resposta

1

Eu tenho CRLF não apenas no script, mas também no list.txt . Depois que mudei para LF no shell e list.txt , o problema foi resolvido.

    
por 19.01.2018 / 19:00

Tags