Bash 스크립트에서 실행 파일의 경로를 올바르게 제공하십시오.

Bash 스크립트에서 실행 파일의 경로를 올바르게 제공하십시오.

안녕하세요 여러분, 바이너리 파일의 전체 경로가 포함된 텍스트 파일(1.txt)이 있고 파일의 각 경로에 대해 명령(val_bin)을 실행해야 합니다.

1.txt 예:

/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
...

명령 예: val_bin - 1.txt의 각 레코드에 대해 html 파일을 생성합니다
.

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

여기서 -output에는 각 명령이 끝난 후 html 파일이 생성되는 경로("DESTINATION")가 있어야 합니다. 여기서 -output은 name.bin.html을 지정해야 합니다(예: App1.bin.html).

여기서 -path는 입력 명령의 전체 경로여야 합니다.

출력 예: (여기서 /tmp는 html 파일의 대상입니다.)

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

나는 몇 가지 다른 루프 옵션을 시도했지만 지금은 순수한 awk를 조사하고 있습니다.

답변1

스크립팅이 필요하지 않습니다.

xargs -I NAME val_bin -output /tmp/$(basename NAME).html -path NAME < 1.txt

답변2

나는 당신이 이것을 원하는 것 같아요 :

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

관련 정보