Passando resultados de “find” para zenity

0

O resultado do seguinte script:

results=$(find -iname "*.mp4")
echo $results;

é algo como:

file1 file2 file3

Como faço para passar os resultados do comando find para uma variável, como é mostrado quando eu executo o seguinte comando no terminal:

find -iname "*.mp4"

quais impressões:

file1
file2
file3
    
por Omid 03.11.2012 / 08:44

2 respostas

3

Em vez de fazer echo $results do echo "$results" .

Atualizar :

A diferença entre os 2 é que no primeiro caso echo recebe muitos parâmetros e no segundo caso recebe apenas um parâmetro. Isso ocorre porque a substituição de variáveis ocorre antes da análise de parâmetros .

    
por 03.11.2012 / 14:23
1

Tente isso, um exemplo nas listas do zenity, leia o resultado de find , e gerar um array, depois passar para o zenity:

#!/bin/bash

List=()
while IFS= read -d $'
#!/bin/bash

List=()
while IFS= read -d $'%pre%' -r file ; do
    List=("${List[@]}" "$file")
done < <(find . -iname '*.mp4' -print0)

zenity --list --column "Item" "${List[@]}"
' -r file ; do List=("${List[@]}" "$file") done < <(find . -iname '*.mp4' -print0) zenity --list --column "Item" "${List[@]}"
    
por 04.11.2012 / 01:52

Tags