文本文件中的重复行

dee*_*_86 3 bash text-processing

我需要以特定次数复制文本文件中的行。例如我的数据文件是:

jplg3350.18i
jplg3360.18i
jplg3370.18i
Run Code Online (Sandbox Code Playgroud)

我需要将这些行复制三遍,如下所示;

jplg3350.18i
jplg3360.18i
jplg3370.18i
jplg3350.18i
jplg3360.18i
jplg3370.18i
jplg3350.18i
jplg3360.18i
jplg3370.18i
Run Code Online (Sandbox Code Playgroud)

Rav*_*ina 10

您可以运行 3 次:

cat file file file > new_file
Run Code Online (Sandbox Code Playgroud)

如果你像我一样懒惰并且不想重新输入文件名 N 次,这里有一个技巧。cat然后键入文件名,按Ctrl+ W,然后按Ctrl+YSpace N次,最后键入> new_file.


然而,将简单的“循环”与cat命令结合使用是一个更好的主意。

或者如您在评论中所问:

limit=3
for ((i=0; i<limit; i++)); do cat file >> new_file; done
Run Code Online (Sandbox Code Playgroud)

将“3”更改为您想要的任何数字。

结果:

jplg3350.18i
jplg3360.18i
jplg3370.18i
jplg3350.18i
jplg3360.18i
jplg3370.18i
jplg3350.18i
jplg3360.18i
jplg3370.18i
Run Code Online (Sandbox Code Playgroud)

  • 你甚至不能让小家伙拿走这个!Rav 新年快乐! (2认同)