bash - 如何合并两个 GZIP 文件,同时从第二个文件中删除第一行?
问题描述
我有两个gzip
CSV 文件,每个文件都有这些解压缩的内容:
a,1
b,2
c,3
如何使用 bash 函数以从第二个文件中删除第一行的方式合并它们,以便获得此输出?最好我可以在不解压缩任何一个输入文件的情况下做到这一点。
a,1
b,2
c,3
b,2
c,3
我已经知道如何处理非 gzip 文件:
function merge_files {
cat "$1" <(tail +2 "$2") > "$3";
}
解决方案
对您的代码进行最小的更改:
function merge_files {
cat <(gzcat "$1") <(gzcat "$2" | tail +2) | gzip > "$3";
}
或者
function merge_files {
(
gzcat "$1";
gzcat "$2" | tail +2
) | gzip > "$3";
}
推荐阅读
- unity3d - 我是否需要担心调用 Repaint(); 多次?
- windows - 将项目添加到 Windows 上的右键单击拖放上下文菜单
- c# - GridView 项目间距
- powerapps - 有没有办法将集合中的数据值组合成一个字符串?
- twilio - Twilio studio plus 功能,不能使用 string.split()
- arrays - 如何访问包含在数组打字稿角度中的数组中的值
- django - 在 heroku 环境中部署 Django 项目并且翻译不起作用
- r - 发布 R 包而不定义函数参数
- python-3.6 - 如何使用 Requests-HTML 库单击“下一步”进行分页
- javascript - 我没有使用 pdf.js 从 iframe 获取 contentDocument