我有一个具有以下格式的文件
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