Bash 루틴의 일부로 워크플로 상태에 대한 일부 메시지를 터미널에 인쇄합니다. 메시지는 두 부분으로 나누어집니다. (1부: 작업 시작, 2부: 작업 완료 상태)
echo -n "Dataset is being processed ! "; execution of some AWK script; echo " Processing has been COMPLETED!"
다음은 AWK 코드의 일부를 사용하여 bash로 구현한 것입니다.
# print pharase 1: initiation of the process
echo -n "Dataset is being rescored.. Please wait"; sleep 0.5
# this is the process: makedir for the result and execute AWK code to process input file
mkdir ${results}
# Apply the following AWK code on the directory contained input file
while read -r d; do
awk -F, '
}' "${d}_"*/target_file.csv > "${results}/"${d%%_*}".csv"
done < <(find . -maxdepth 1 -type d -name '*_*_*' | awk -F '[_/]' '!seen[$2]++ {print $2}')
# print pharase 2: finish of the result, which would appear in the terminal near phrase 1
# this will print "COMPLETED" letter-by-letter with the pause of 0.2 sec between each letter
echo -n " C"; sleep 0.2; echo -n "O"; sleep 0.2; echo -n "M"; sleep 0.2; echo -n "P"; sleep 0.2; echo -n "L"; echo -n "E"; sleep 0.2; echo -n "T"; echo -n "E"; sleep 0.2; echo "D!"
Bash에서 이 스크립트를 실행하면 모든 것이 잘 작동하는 것처럼 보이며 두 "echo -n" 블록 사이의 코드 부분과 관련된 문제는 발견되지 않습니다. "echo -n"을 사용하여 상태 문구를 분할하면 bash의 루틴에 일부 버그가 발생할 수 있습니까?