我在 Linux 中使用以下命令行将输入文件(由列组成的 txt 文件)的内容保存为电子表格:
less input_file > out_put.csv
我的输出文件是
问题出在输出电子表格中;输入文件中的所有列都粘在输出文件(电子表格 CSV)的一列中。
如何修改我的简单代码,以便更有效地将我的 txt 文件保存为制表符分隔文本和电子表格。
答案1
首先,less
它只是一个寻呼机,它是一个让你读取文件的工具。您所做的与将 input_file 复制到 out_put.csv ( ) 完全相同cp input_file out_put.csv
。您不会以任何方式更改内容。
因此,要使用例如将其作为电子表格读取,libreoffice
您需要打开电子表格应用程序,然后打开input_file
并使用空格作为列分隔符:
现在,如果您确实想将文件转换为逗号分隔值格式 ( .csv
),需要添加逗号。此命令将在每行上用逗号替换所有空格,并将输出保存为output.csv
:
sed 's/ */,/g' input_file > output.csv
上面的命令是sed
,在这里我使用它替换运算符。一般格式是s/pattern/replacement/
which将替换pattern
为replacement
.最后g
使它替换全部该模式在每行上出现的次数,如果没有它,它只会替换第一行。我给它的模式是(一个空格)后跟 0 个或多个(这就是
*
意思)空格 ( *
),我告诉它替换为,
。这基本上意味着“用逗号替换出现的一个或多个空格”。