Retirar o arquivo de entrada e obtê-lo para exibir a entrada em um relógio de 24 horas

0

Digamos que temos o arquivo 1: 1 5 17 10 8 16 Existe uma maneira de inserir esse arquivo e exibi-lo no relógio de 24 horas

saída ex: 100 hours 500 hours 1700 hours 1000 hours 800 hours 1600 hours

    
por HII Buckley 09.04.2018 / 03:05

5 respostas

1

Jesse_b deu uma resposta parcial em um comentário , mas pode não fazer exatamente o que você quer.

Se você descreveu com precisão o que deseja, na verdade é muito simples:

while read -a nums
do
    for num in "${nums[@]}"
    do
        printf '%d00 hours ' "$num"
    done
done < file1

read -a nums lê uma matriz de valores (ou seja, vários valores). "${nums[@]}" refere-se à coleção de valores armazenado na matriz nums ; for num in … faz um loop através deles, atribuindo cada um a num . Em seguida, imprimimos cada um seguido por 00 hours e um espaço.

Isso irá imprimi-los todos em uma linha, como você mostrou na sua pergunta. Para finalizar a linha, adicione echo ou printf '\n' no final do código acima. Se você quiser que cada um seja impresso em uma linha separada, altere o comando printf (no meio) para

        printf '%d00 hours\n' "$num"
    
por 09.04.2018 / 05:16
1
1 5 17 10 8 16
1 5 17 10 8 16

$ awk -F" " '{ for(i=1;i<=NF;i++) { $i=$i*100" hours"} print }' file

100 hours 500 hours 1700 hours 1000 hours 800 hours 1600 hours
100 hours 500 hours 1700 hours 1000 hours 800 hours 1600 hours
    
por 09.04.2018 / 11:24
1

Usando bash :

$ printf '%d00 hours ' $(<file)
100 hours 500 hours 1700 hours 1000 hours 800 hours 1600 hours

(sem nova linha no final da saída)

Com formatação mais sofisticada:

$ printf '%02d:00 hours\n' $(<file)
01:00 hours
05:00 hours
17:00 hours
10:00 hours
08:00 hours
16:00 hours
    
por 09.04.2018 / 14:29
0

com sed :

sed -E 's/([0-9]+)/0 hours/g' < the_file
    
por 09.04.2018 / 15:29
0

Definitivamente concordar com o one liner do @Kusalana. Aqui está uma maneira muito simples Silenciosa embora

awk '{print $1*100 " hours",$2*100" hours",$3*100" Hours",$4*100" hours",$5*100" hours" }' < file.txt

100 hours 500 hours 1700 Hours 1000 hours 800 hours
    
por 09.04.2018 / 19:56

Tags