Alimente corretamente caminhos para executáveis no script bash

0

Olá a todos Eu tenho um arquivo de texto (1.txt) que contém caminhos completos para os binários que eu preciso executar um comando (val_bin) para cada caminho no arquivo.

1.txt Exemplo:

/source/ed/dev/ed/ab/ed_len/comercial/bin/APP1.bin 
/source/ed/dev/ed/ab/ed_lap/comercial/bin/APP2.bin 
/source/ed/dev/ed/ab/ky_len/Industrial/bin/APP3.bin
...

Exemplo de comando: val_bin- Cria um arquivo html para cada registro em 1.txt
por exemplo,

val_bin -output <DESTINATION.html> -path </source/ed/dev/ed/ab/ed_len/comercial/bin/APP1.bin>

onde -output deve ter o caminho onde os arquivos html serão criados após cada vez que o comando terminar ("DESTINATION"). onde -output deve especificar name.bin.html (por exemplo, App1.bin.html)

onde -path precisa ser o caminho inteiro inserido no comando

exemplo de saída: (onde / tmp é o destino dos arquivos html)

> ll /tmp
/tmp/APP1.bin.html
/tmp/APP2.bin.html
/tmp/APP3.bin.html
...

Eu tentei várias opções de loop diferentes, mas agora estou investigando o awk puro. Tenho certeza de que estou fazendo algo estúpido! Obrigado antecipadamente!

    
por SSDdude 15.10.2018 / 22:26

2 respostas

2

Nenhum script é necessário.

xargs -I NAME val_bin -output /tmp/$(basename NAME).html -path NAME < 1.txt
    
por 15.10.2018 / 23:01
0

Eu estou supondo que você quer isso:

dest_dir=/tmp
while IFS= read -r bin; do
    if [[ ! -f "$bin" ]]; then
        printf "No such file: %s\n" "$bin"
    else
        output="$dest_dir/$(basename "$bin").html"
        val_bin -output "$output" -path "$bin"
    fi
done < 1.txt
    
por 15.10.2018 / 22:46

Tags