我正在尝试将文本文件转换为制表符分隔的电子表格。我的文本文件是这样的:
Dog
Cat
Fish
Lizard
Wolf
Lion
Shark
Gecko
Coyote
Puma
Eel
Iguana
借助Gedit或LibreOffice中的标准搜索和替换功能,可以轻松地用标签替换行尾。但是,如果我只是将回车换成制表符,我将得到:
Dog Cat Fish Lizard Wolf Lion Shark Gecko Coyote Puma Eel Iguana
但是我需要做的就是让它看起来像这样:
Dog Cat Fish Lizard
Wolf Lion Shark Gecko
Coyote Puma Eel Iguana
因此,除每四行外,是否可以将每个行尾字符换成一个制表符?
我不知道是否可以使用Gedit或LibreOffice之类的程序中的正则表达式来完成这种条件迭代,所以也许这需要某种命令行功能吗?我什至不清楚最好的工具是什么。
更新:
我尝试了以下命令:
sed 'N;N;N;s/\n/\t/g' file > file.tsv
paste - - - - < file > file.tsv
pr -aT -s$'\t' -4 file > file.tsv
xargs -d '\n' -n4 < inputfile.txt
但是,当我尝试tsv
在LibreOffice中打开生成的文件时,这些列不太正确。我不确定这是否表示我没有正确执行上述命令,还是在LibreOffice导入功能中做错了什么:
仅供参考,所需结果应如下所示:
dos2unix
andunix2dos
。