如何在 MAC OS 上使用终端将多个 CSV 文件合并为一个?

Lin*_*ina 2 csv macos terminal

我有包含 20 个 csv 文件的目录。他们都有相同的标题。我想将这些 csv 文件合并为一个文件。当我在 Windows 上工作时,我只需打开 cmd,转到正确的目录并使用以下命令:

 copy *.csv combined-files.csv
Run Code Online (Sandbox Code Playgroud)

它在 Windows 上完成了这项工作。我无法在 mac 的终端上运行此命令,因为 Mac 上不存在该命令。如何重写此 Windows 命令,使其在 Mac OS 上执行相同的工作?

ema*_*tta 9

我能想到的最简单的,类似于 Windows 版本是:

cat *.csv > combined-files.csv
Run Code Online (Sandbox Code Playgroud)

请注意,如果标题combined-files.csv包含在所有 .csv 文件中,它们将在整个文件中重复。就像您为 Windows 发布的解决方案一样。


小智 7

要将所有文件连接到一个文件中,您可以使用以下 awk 命令来合并内容。但这会忽略标题内容

awk 'FNR > 1' *.csv > consolidated.csv
Run Code Online (Sandbox Code Playgroud)

awk 命令假定所有文件都位于一个目录中。如果您的所有文件都位于不同的目录中,您可以使用以下命令将它们合并到一个目录中

find . -name \*.csv -exec cp {} newdir/ \;
Run Code Online (Sandbox Code Playgroud)