줄을 읽고 증가시키는 Bash 스크립트

줄을 읽고 증가시키는 Bash 스크립트

다음 형식의 파일이 있습니다

1|3
7|10 
11|16

스크립트가 다음 형식을 갖기를 원합니다

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

기본적으로 첫 번째 열이 시작 번호이고 두 번째 열이 끝 번호인 범위가 있으며 출력 파일에 새 줄의 범위에 있는 모든 숫자가 포함되기를 원합니다.

답변1

tr -s \| " " < file.txt |xargs -l1 seq > output.txt

답변2

그리고 awk:

awk -F'|' '{for (i = $1; i <= $2; i++) print i}' < input > output

답변3

이 값이 엄격하게 유효한 10진수라고 가정합니다(그렇지 않은 경우 지우세요).

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

$ ./script <infile >outfile

관련 정보