繁体   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