我有一个包含多行的大型制表符分隔文本(.txt)文件。我想做的是从这个txt文件中取出每一行并将其作为自己的单独文件。
例如,如果我的文本文件看起来像这样:
11111111
22222222
33333333
我想有三个文本文件,一个读取" 11111111",另一个读取" 22222222",另一个读取" 33333333"。 / p>
答案 0 :(得分:2)
最明显的方法是使用split
:
split -l 1 file out
这会将file
拆分为单独的文件outaa
,outab
和outac
,每个文件都包含一行输入文件。
后缀的默认长度为2,但您可以使用-a
开关更改它。例如,
split -a 1 -l 1 file out
会创建文件outa
,outb
和outc
。
查看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