Script Bash para ler linha e incremento

0

Eu tenho um arquivo com o seguinte formato

1|3
7|10 
11|16

e gostaria de ter um script com o seguinte formato

1
2
3
7
8
9
10
11
12
13
14
15
16

Basicamente eu tenho um intervalo e na primeira coluna é o número inicial e na segunda coluna o número final e eu gostaria de ter o arquivo de saída com todos os números desse intervalo em uma nova linha.

    
por bboy 22.11.2018 / 10:52

3 respostas

1

com awk :

awk -F'|' '{for (i = $1; i <= $2; i++) print i}' < input > output
    
por 22.11.2018 / 11:03
2
tr -s \| " " < file.txt |xargs -l1 seq > output.txt
    
por 22.11.2018 / 10:54
0

Assumindo que os valores são estritamente válidos base 10 números (se não, limpe-os):

$ cat ./script.sh
#!/bin/bash
while   IFS='|' read a b
do      until   ((a>b))
        do      printf '%d\n' "$((a++))"
        done
done

$ ./script <infile >outfile
    
por 23.11.2018 / 01:33

Tags