Array Creator Bash OS X não é esperado

0

Estou criando um script que solicitará que um usuário insira um local de um arquivo de texto e, com base nele, criará uma matriz.

Primeira pergunta

O arquivo de texto que estou usando é sample.txt e está localizado no ~/Desktop/ , mas não está enviando todos os dados para o output.txt

Primeiro script

INDEX=0
echo -n "Enter a name for the array: "
read NAME
while read LINE
do
  echo $NAME[$INDEX]="\"$LINE"\" >> output.txt
  INDEX=$[$INDEX+1]
done < ~/Desktop/sample.txt

exemplo.txt

1
2
3
4
5
6
7
8
9

Saída real de saída.txt

NUM[0]="1"
NUM[1]="2"
NUM[2]="3"
NUM[3]="4"
NUM[4]="5"
NUM[5]="6"
NUM[6]="7"
NUM[7]="8"

Saída de saída esperada.txt

NUM[0]="1"
NUM[1]="2"
NUM[2]="3"
NUM[3]="4"
NUM[4]="5"
NUM[5]="6"
NUM[6]="7"
NUM[7]="8"
NUM[8]="9"

Segunda pergunta

Eu queria melhorar o script solicitando que o usuário insira o nome da matriz, o local do arquivo de texto a ser importado e também a localização de onde deseja que o arquivo de texto de saída seja enviado. No entanto, não está gostando da parte "$ {IMPORT}} e está dizendo;

./ArrayExport.sh: line 11: ~/Desktop/sample.txt: No such file or directory

Mas esse arquivo existe, no entanto, se eu inserir manualmente o local do arquivo na seção "${IMPORT}" , ele funcionará bem.

Script final do ArrayCreator.sh

INDEX=0
echo -n "Enter a name for the array: "
read $NAME
read -e -p "Enter the location of the text file: " IMPORT
read -e -p "Enter a name for the output including the extension: " EXPORT

while read LINE
do
  echo $NAME[$INDEX]="\"$LINE"\" >> $EXPORT
  INDEX=$[$INDEX+1]
done < "${IMPORT}"

Espero que isso faça sentido, desculpe por fazer duas perguntas em um post: / mas espero que vocês possam ajudar, obrigado antecipadamente:)

    
por Ryan Hawdon 09.01.2016 / 08:36

0 respostas

Tags