我在 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 個或多個(這就是
*
意思)空格 ( *
),我告訴它要替換為,
。這基本上意味著「用逗號替換出現的一個或多個空格」。