Csv
將文件另存為製表符分隔的文本和電子表格
我在 Linux 中使用以下命令行將輸入文件(由列組成的 txt 文件)的內容保存為電子表格:
less input_file > out_put.csv
我的輸出文件是
問題出在輸出電子表格中;輸入文件中的所有列都粘貼在輸出文件的一列(電子表格 CSV)中。
如何修改我的簡單程式碼以更有效地將我的 txt 文件另存為製表符分隔的文本和電子表格。
首先,
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/
將替換pattern
為replacement
. 最後g
的 使它替換每行上所有出現的模式,沒有它,它只會替換第一個。我給它的模式是(a space) followed by 0 or more (that's what
means) spaces (
) and I told it to replace with
,. This basically means "replace any occurrences of one or more spaces with a comma".