Atualmente tenho uma função que imprime a posição e duração do cmus e formata como "1/500". O problema que estou tendo é que gostaria que os dados de posição e duração fossem apresentados em minutos em vez de segundos (0:01/8:20 em vez de 1/500), mas estou sem ideias sobre como alcançar isto.
Atualmente, a parte relevante da função se parece com isso:
print_music(){
if ps -C cmus > /dev/null; then
position=`cmus-remote -Q |
grep --text '^position' |
sed -e 's/position //' |
awk '{gsub("position ", "");print}'`
duration=`cmus-remote -Q |
grep --text '^duration' |
sed -e 's/duration //' |
awk '{gsub("duration ", "");print}'`
echo "[$position/$duration]"; else echo "";
fi
}
Isso irá ajudá-lo:
Eu estava tentando realizar exatamente a mesma coisa. Usando o método awk do comentário de @RubberStamp na resposta de @glenn jackman, acabei com o seguinte que é exibido: por exemplo
2:07 / 4:08
Nota: a última expressão sed adiciona
0
s iniciais para que seja2:7 / 4:8
exibido corretamente como2:07 / 4:08
em vez disso.