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
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?
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
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)
Tags echo shell-script cut variable