【发布时间】:2017-01-10 13:51:41
【问题描述】:
我将一些 csv 文件分成两半。但是这些文件中的每一个都有一个标题,所以现在文件的后半部分缺少标题。
如何将文件 A 的第一行插入文件 B 的顶部?
【问题讨论】:
标签: bash
我将一些 csv 文件分成两半。但是这些文件中的每一个都有一个标题,所以现在文件的后半部分缺少标题。
如何将文件 A 的第一行插入文件 B 的顶部?
【问题讨论】:
标签: bash
使用命令替换来提取 file1 的第一行,然后使用 sed 就地替换 file2 中的第一行。
sed -i "1s/^/$(head -n1 file1)\n/" file2
【讨论】:
1s1 in the sed` 命令意味着,仅在第一行进行搜索和替换。 ^ 表示行首。 head -n1 file1 将获得 file1 的第一行。所以/^/$(head -n1 file1)/ 表示将file2 的第一行替换为file1 的第一行。
您必须重写第二个文件。假设你有文件 first.csv 和 second.csv 你可以这样做:
head -n1 first.csv > second-new.csv
cat second.csv >> second-new.csv
您现在可以检查second-new.csv 以查看是否一切正常,然后将旧版本替换为:
mv -i second-new.csv second.csv
【讨论】: