簡體   English   中英

將多個 csv 文件與其中的文件名組合為 mac 終端上的行

[英]Combine multiple csv files with filenames in it as rows on mac terminal

我有多個 csv 文件。 我想將它們組合在一個文件中並在終端上這樣做;

"cat *.csv >combined.csv"

這可行,但我需要在合並之前將文件名添加到所有這些 csv 文件中,以便了解組合版本中的數據源。 現在,我把這個結合起來了;

a1, a2, a3, a4
b1, a2, a3, a4

我想將文件名作為行添加到開頭

file1, a1, a2, a3, a4
file2, b1, a2, a3, a4

有沒有辦法在mac終端上做到這一點?

您可以創建 shell 腳本

#!/bin/sh

rm combined.csv
for f in *.csv
do
  sed -e "s/^/${f},/" $f >> combined.csv
done

它將在combined.csv的.csv 文件中生成以下內容:

file1.csv,a1, a2, a3, a4
file2.csv,b1, a2, a3, a4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM