Shell script: reconhecendo sequencia de arquivos

1. Shell script: reconhecendo sequencia de arquivos

Emerson Novais Oliveira
emersonnovais

(usa Ubuntu)

Enviado em 12/01/2017 - 22:32h

Olá, pessoal do fórum. Estou com uma dúvida com o shell script e queria saber como faço para reconhecer uma sequência de arquivos. É que estou tentando rodar algumas roms de Amiga no FS-UAE e no nome deles sempre há alguma terminação como "Disk 1 of 3" e queria sabe como faço um script que os coloque em sequência para executá-los no mesmo comando. É que para os jogos rodarem automaticamente, é preciso fazer com que cada arquivo fique num drive de disquete virtual do emulador. O problema é que há alguns jogos que estão apenas num arquivo e outros neste tipo de sequência que eu especifiquei acima. Como faço para colocá-los em sequência, caso haja vários dos mesmo jogo? Exemplo:
Digamos que eu tenha três arquivos do mesmo jogo:
Agony (Disk 1 of 3).adf
Agony (Disk 2 of 3).adf
Agony (Disk 3 of 3).adf

Meu script está mais ou menos assim:
#!/bin/bash
ARQUIVO=$1
# blá blá blá
#comando
fs-uae --fullscreen --joystick-port-0-mode=joystick --amiga-model=500 --floppy-drive-0="$ARQUIVO"

Se eu passasse os parâmetros manualmente no terminal, o comando ficaria assim, como no código abaixo. O que eu quero é que o script faça isso por mim:
fs-uae --fullscreen --joystick-port-0-mode=joystick --amiga-model=500 --floppy-drive-0="Agony (Disk 1 of 3).adf" --floppy-drive-1="Agony (Disk 2 of 3).adf" --floppy-drive-2="Agony (Disk 3 of 3).adf" 

Não sei se fui muito claro na explicação.
Pesquisei algo sobre substrings também, mas não entendi nada. Quem puder me dar uma luz, eu agradeço.
Valeu


  


2. Re: Shell script: reconhecendo sequencia de arquivos

thinomar
thinomar

(usa Linux Mint)

Enviado em 13/01/2017 - 12:36h

Você pode listar os arquivos, ordenar pela coluna que está o número do disco (nesse seu caso é a coluna 3), jogar em uma variável e fazer um laço...
files=$(ls -r Agony* | sort -u -k 3) 

IFS=
for file in $files
do
fs-uae --fullscreen --joystick-port-0-mode=joystick --amiga-model=500 --floppy-drive-0="$file"
done

Mas é sempre tentar dar uma validada antes pra ver se tá tudo ok.


3. Re: Shell script: reconhecendo sequencia de arquivos

Emerson Novais Oliveira
emersonnovais

(usa Ubuntu)

Enviado em 16/05/2017 - 05:53h

Desculpe a demora em resolver. Bati cabeça e ainda não consegui, mas obrigado mesmo assim. Caso consiga uma solução, eu postarei aqui. Pela minha demora eu teria de encerrar o tópico?
Abraço.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts