Use os comandos do Linux para execução de loop para redimensionar vários arquivos. Erros

2

Eu criei este arquivo de comando. O objetivo é executar um loop de vários arquivos e redimensioná-los de 8 MB para 18 MB.

Esses arquivos são rubbi8.txt , rubbi9.txt , rubbi9.txt , ... rubbi18.txt

Meu script é:

for i in {8..18}
do
  "truncate -s $im rubbi$i.txt"
done

O resultado é:

./kk3.sh: line 4: truncate -s  rubbi8.txt: command not found
./kk3.sh: line 4: truncate -s  rubbi9.txt: command not found
./kk3.sh: line 4: truncate -s  rubbi10.txt: command not found
./kk3.sh: line 4: truncate -s  rubbi11.txt: command not found

Como posso configurar os argumentos para o comando truncate?

Obrigado ao jvb. O formato de comando correto é: --- >


para eu em {8..18}
do
  truncar -s $ {i} m rubbi $ {i} .txt
feito


    
por goodjohn 16.06.2017 / 19:05

2 respostas

3

Remova as aspas em torno do seu comando truncate e use chaves ${i} para indicar o final do nome da variável.

for i in {8..18}
do
  truncate -s ${i}m rubbi${i}.txt
done
    
por 16.06.2017 / 19:09
1

As aspas farão truncate -s rubbi8.txt (etc.) o nome do comando - com espaços e parâmetros como partes do nome do arquivo executável - que não existe.

    
por 16.06.2017 / 19:11

Tags