首页 > 解决方案 > 使用 Linux 多次重复每一行

问题描述

我有 1 个包含一些数据的文件。喜欢

我的文件:

1 3 a
4 8 b
9 14 c

输出文件:

a
a
b
b
b
b
c
c
c
c
c

我试图多次重复每一行(3-1 = 2、8-4 =4、14-9 = 5)。我正在绑定这个命令:

while read i; do seq 1 2| xargs -i -- echo $i;done < my_file.txt 

但它对所有行重复 2 次。我想将每一行重复 N 次。可能吗?如果可以,请给我一些建议。

提前致谢。

标签: linuxbashubuntu-18.04

解决方案


将每一行读入 3 个变量,并使用前两个变量作为重复的范围。

while read -r start end char; do
    for ((i = start; i < end; i++)); do
        echo "$char"
    done
done < my_file.txt

推荐阅读