definir uma nova variável no bash

-1

Eu tenho uma lista com o nome dos arquivos zip. Eu quero escrever um loop for para descompactá-los em um determinado diretório.

Como posso definir uma variável no bash, que vem de uma parte dos nomes dos CEPs?

for i in 'cat zipfiles.txt'; do
     WIDTH3="${cat zipfiles.txt | rev | cut -c47-54 | rev}"
    
por Krsztr 30.01.2018 / 13:12

1 resposta

2

Você percorre as linhas de zipfiles.txt . Para cada loop, você define uma variável $i com o valor da linha atual. Então, você corta uma parte de cat zipfiles.txt , o que não faz sentido.

Você deseja cortar a partir de $i . Além disso, sua sintaxe está errada, você tem que usar $(any_command) em vez de ${any_command} .

WIDTH3=$(echo "$i" | rev | cut -c47-54 | rev)

De qualquer forma, neste caso, é melhor usar while read [...] em vez de for ... :

while IFS= read -r line; do
    WIDTH3=$(echo "$line" | rev | cut -c47-54 | rev)
    do_something
done < zipfiles.txt
    
por RoVo 30.01.2018 / 14:10