[英]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.