將文件另存為製表符分隔的文字和電子表格

將文件另存為製表符分隔的文字和電子表格

我在 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並使用空格作為列分隔符:

        libreoffice 文字匯入對話框,其中選擇空格作為分隔符

現在,如果您確實想將文件轉換為逗號分隔值格式 ( .csv),需要新增逗號。此命令將在每行上用逗號替換所有空格,並將輸出儲存為output.csv

sed 's/  */,/g' input_file > output.csv

上面的命令是sed,在這裡我使用它替換運算符。一般格式是s/pattern/replacement/which將替換patternreplacement.最後g使它替換全部該模式在每行上出現的次數,如果沒有它,它只會替換第一行。我給它的模式是(一個空格)後面跟著 0 個或多個(這就是*意思)空格 ( *),我告訴它要替換為,。這基本上意味著「用逗號替換出現的一個或多個空格」。

相關內容