如何逐行读取文件然后将每一行插入到txt文件中

如何逐行读取文件然后将每一行插入到txt文件中

我想读取文件的每一行,然后获取每一行并生成一个包含行数据的文件。

例如,假设我要读取的文件名为 txt.txt,它包含以下 4 行:

data for the first row
data for the second row
data for the third row
data for the fourth row

我想生成 4 个输出文件,每个文件包含输入文件中的一行。因此读取输入文件后会生成 4 个文件。一个名为text1.txt(其中包含第一行数据),一个名为text2.txt(其中包含第二行数据),依此类推。

答案1

一个简单的答案是:

awk '{ print > "text"NR".txt"}' < input

这会将每一行打印到以您的模式命名的文件中;NR是 awk 中的一个特殊变量,包含当前行号。

随着 GNU 分裂:

split -l1 --additional-suffix=.txt --numeric-suffixes=1 --suffix-length=1 input text

这会将输入文件input一次一行 ( -l1) 拆分为前缀为text、附加后缀为.txt、数字后缀从 1 开始且无填充的文件。请注意,此方法仅限于九行输入。如果您的文件名很灵活,您可以删除该--suffix-length=1选项,文件名将被命名为text01.txt .. text11.txt ...,这将使您最多 99 行。

相关内容