Inicializando uma variável com eco

0

Então, estou tentando armazenar uma parte do nome de um arquivo em uma variável para outros usos. Então, se meu arquivo foi chamado hello123.txt e eu quero armazenar a parte 123. Então eu tento

num= echo $file |cut -c6-8

Mas tudo o que faz é ecoar o 123 e não armazenar esse valor na variável. Como faço para que apenas inicialize a variável e não faça mais nada?

    
por Gui Montag 01.10.2015 / 17:03

2 respostas

4

Você pode usar echo ou apenas usar substituição de parâmetro de shell :

$ file=123456789
$ num=$(echo "$file" | cut -c6-8); echo $num
678
$ num=${file:5:3}; echo $num     # substring of length 3 starting from 6th char
678
    
por 01.10.2015 / 17:18
1

Você precisa colocar seu comando em $() ou '', que irá executá-lo e armazenar na variável o valor resultante.

num=$(echo $file |cut -c6-8)
    
por 01.10.2015 / 17:08