user3901666 Asked: 2019-09-17 02:24:12 +0800 CST2019-09-17 02:24:12 +0800 CST 2019-09-17 02:24:12 +0800 CST 从 csv 中删除顶行,然后合并 772 我在一个位置有多个类似的 csv 文件。我必须将这些文件合并到一个文件中。但问题是我的 csv 文件在标题顶部多了一行。我想删除该行,然后合并 csv。 我知道当顶部没有多余的线时,我可以做类似下面的事情。 cat *UNSTRUCTURED.csv > Merged_UNSTRUCTURED.csv 但挑战是我如何删除那条顶线。此外,所有文件名都将具有类似 UNSTRUCTURED 的模式。 shell-script 1 个回答 Voted Best Answer Stéphane Chazelas 2019-09-17T02:46:58+08:002019-09-17T02:46:58+08:00 代替cat, 使用: awk 'FNR>2 || NR==2' ./*UNSTRUCTURED.csv > UNSTRUCTURED-Merged.csv 它跳过所有文件的前两行(即额外行和标题行),但保留第一行的第二行(标题)。 NR是整个输入中的记录号(记录默认为行FNR),而是当前文件中的记录号。 要从所有文件中删除前两行(导致输出没有标题),只需使用awk 'FNR>2'or with GNU sed:sed -s 1,2d或 with GNU tailor compatible (包括 ast-open、FreeBSD 和 busybox): tail -qn+3。
代替
cat
, 使用:它跳过所有文件的前两行(即额外行和标题行),但保留第一行的第二行(标题)。
NR
是整个输入中的记录号(记录默认为行FNR
),而是当前文件中的记录号。要从所有文件中删除前两行(导致输出没有标题),只需使用
awk 'FNR>2'
or with GNUsed
:sed -s 1,2d
或 with GNUtail
or compatible (包括 ast-open、FreeBSD 和 busybox):tail -qn+3
。