сработало после небольшого исследования и помощи @ZacharyBrady
#!/bin/bash
output1=$(mktemp /tmp/tmpout.XXXXXX)
output2=$(mktemp /tmp/tmpout.XXXXXX)
./script1 &> $output1 &
pid1=$!
./script2 &> $output2 &
pid2=$!
while [ -d "/proc/$pid1" ] || [ -d "/proc/$pid2" ]
do
out1="$(tail -n 1 $output1)"
out2="$(tail -n 1 $output2)"
echo $out1
echo $out2
tput cuu1 # move cursor up by one line
tput el # clear the line
tput cuu1
tput el
done
rm -f $output1 $output2
Вы можете просмотреть возможные подстроки имени файла, сделать замену с помощью sed
, сохранить STDOUT из sed
как желаемое имя файла:
for i in a b; do
sed "s/REPLACE/$i/g" log_REPLACE >"log_$i"
done
Внесите необходимые изменения в соответствии с вашими потребностями.