Linux
寫入 csv 文件時文件名被分割
我在終端文件夾中有一個目錄。我正在使用 MobaXterm。該目錄中有大量文件。文件名很長並且有一些非法字元。一個範例文件名為*“秘書長 2015 年後發展議程高級別小組的三位共同主席(印度尼西亞、利比里亞、聯合王國) - Media Stakeout-1861343067001.m4a”*。我使用以下命令行將文件名寫入 csv 文件,到目前為止它一直在工作。
dir$ find . -type f > names.csv
但這一次,文件名不是一列,而是分成幾列。
我只想要 A 列中的全名。我想寫下原始文件名,包括逗號。相同的命令能夠為我以前的數據集編寫帶有逗號的文件名,只是這些文件名比這個短。
如何解決?
在 Linux 上,GNU find 有一個
-printf
選項可以列印給定格式的文件名;要導入 CSV,您可以用雙引號將文件名括起來,例如:find . -type f -printf '"%p"\n'
CSV 表示逗號分隔值。當電子表格讀取文件時,它將逗號解釋為欄位分隔符。用tr將逗號替換為其他分隔符,例如下劃線,因此
$ tr ',' '-_' < input.csv | tr -d '"'
它們在你導入時,Field One 不會被分割。