用于读取行和增量的 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

相关内容