我在Linux中使用以下命令行将输入文件(由列组成的txt文件)的内容保存为电子表格:
less input_file > out_put.csv我的输出文件是

问题在输出电子表格中;输入文件中的所有列都粘在输出文件的一列中(电子表格CSV)。
如何修改我的简单代码,使它更有效地保存我的txt文件为标签分隔的文本和电子表格。
发布于 2014-10-16 12:42:18
首先,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/,它将用replacement代替pattern。最后的g使它替换了每一行中所有出现的模式,如果没有它,它只会替换第一个。我给出的模式是(一个空格),后面是0或更多(这是*的意思)空格(*),我告诉它用,代替。这基本上意味着“用逗号替换任何出现的一个或多个空格”。
https://unix.stackexchange.com/questions/162490
复制相似问题