linux - 仅将指定数据合并到单个 csv 文件中

标签 linux csv sed cut

我熟悉使用 cat 组合 csv 文件。我也很熟悉在指定行时这样做。

不过,我需要知道的是如何仅组合在 csv 文件中以指定行开头的指定列。我使用的 csv 文件有点乱,但它们都是相同的格式。我无法控制它们的输出,因此不得不弄清楚如何合并几百个文件(希望不是手动)。

数据示例:

| Column1      | Column3 | Column4      | Column5 | Column6      | Column7 | Column8 | Column9 | Column10     | Column11 |
|--------------|---------|--------------|---------|--------------|---------|---------|---------|--------------|----------|
| garbage data |         | garbage data | garbage |              |         |         | garbage |              |          |
| garbage data |         | garbage data |         |              |         |         |         |              |          |
| garbage data |         | garbage data |         |              |         |         |         |              |          |
| garbage data |         | garbage data |         |              |         |         |         |              |          |
| garbage data |         | garbage data |         | garbage      | garbage |         |         |              |          |
| garbage data |         | garbage data |         | good data 1  |         |         |         | good data 1  | garbage  |
| garbage data |         | garbage data |         | good data 2  |         |         |         | good data 2  | garbage  |
| garbage data |         | garbage data |         | good data 3  |         |         |         | good data 3  | garbage  |
| garbage data |         | garbage data |         | good data 4  |         |         |         | good data 4  | garbage  |
| garbage data |         | garbage data |         | good data 5  |         |         |         | good data 5  | garbage  |
| garbage data |         | garbage data |         | good data 6  |         |         |         | good data 6  | garbage  |
| garbage data |         | garbage data |         | good data 7  |         |         |         | good data 7  | garbage  |
| garbage data |         | garbage data |         | good data 8  |         |         |         | good data 8  | garbage  |
| garbage data |         | garbage data |         | good data 9  |         |         |         | good data 9  | garbage  |
| garbage data |         | garbage data |         | good data 10 |         |         |         | good data 10 | garbage  |

编辑:所需的输出将是第 6 行,其中“好数据”从第 6 列和第 10 列向下开始(每个文件有 1000 到 2000 行)。

编辑 2:期望的输出

| Column10     | Column6      |
|--------------|--------------|
| good data 1  | good data 1  |
| good data 2  | good data 2  |
| good data 3  | good data 3  |
| good data 4  | good data 4  |
| good data 5  | good data 5  |
| good data 6  | good data 6  |
| good data 7  | good data 7  |
| good data 8  | good data 8  |
| good data 9  | good data 9  |
| good data 10 | good data 10 |

欢迎所有反馈。

最佳答案

如果它们真的是 CSV 文件,

awk -F, 'FNR>5 {print $6,$10}' *.csv > BigBoy.csv

关于linux - 仅将指定数据合并到单个 csv 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43644661/

相关文章:

java - 如何使用 JasperReports 导出 CSV

linux匹配行号之后的模式直到结束并替换一次

swift - 使用 awk/sed 获取 swift 函数的返回类型

Linux:设置自定义警报/ toast /不确定名称

python - 没有足够的值来解包(预期 3,得到 1)

MySQL 错误代码 1265 : what's wrong with my csv data?

regex - 如何在 Perl 中用一个子字符串替换另一个子字符串?

c++ - 如何在excel中使用标准输入 '<'?

regex - Unix/Linux 在多个文件中查找和替换函数调用

linux - 从脚本中运行命令时的 Bash 进度条