从制表符分隔的文本文件中读取行以使用bash创建新文件

时间:2014-12-11 23:42:09

标签: bash tab-delimited-text

我有一个包含多行的大型制表符分隔文本(.txt)文件。我想做的是从这个txt文件中取出每一行并将其作为自己的单独文件。

例如,如果我的文本文件看起来像这样:

11111111
22222222
33333333

我想有三个文本文件,一个读取" 11111111",另一个读取" 22222222",另一个读取" 33333333"。 / p>

2 个答案:

答案 0 :(得分:2)

最明显的方法是使用split

split -l 1 file out

这会将file拆分为单独的文件outaaoutaboutac,每个文件都包含一行输入文件。

后缀的默认长度为2,但您可以使用-a开关更改它。例如,
split -a 1 -l 1 file out会创建文件outaoutboutc

查看man split以查看可用于控制输出的更多选项。

答案 1 :(得分:1)

这是怎么回事?

file=$1
i=0
while read line    // reads file line by line
do
echo $line > "file$i" //writes each line to a file until last line is reached
((i++))
done < aline.txt

如果文件内容与您提供的内容相同,您将拥有以下文件:

file0 --> 11111111
file1 --> 22222222
file3 --> 33333333