Shell 使用diff查找csv中的多行缺失行
我的问题的一部分用这个答案解决了: ,但我问题的一个重要部分没有解决 使用后Shell 使用diff查找csv中的多行缺失行,shell,unix,csv,grep,diff,Shell,Unix,Csv,Grep,Diff,我的问题的一部分用这个答案解决了: ,但我问题的一个重要部分没有解决 使用后 diff a.csv b.csv | grep -E -A1 '^[0-9]+d[0-9]+$' | grep -v '^--$' | sed -n '0~2 p' | sed -re 's,^< (.*)$,\1,g' 这适用于多个已删除行中的第一行 我的问题是: 在这种情况下,如何获取所有删除行(可能是下面的5行)? 在diff调用中我必须更改什么 diff a.csv b.csv | sed -n '/^
diff a.csv b.csv | grep -E -A1 '^[0-9]+d[0-9]+$' | grep -v '^--$' | sed -n '0~2 p' | sed -re 's,^< (.*)$,\1,g'
这适用于多个已删除行中的第一行
我的问题是:
在这种情况下,如何获取所有删除行(可能是下面的5行)?
在diff
调用中我必须更改什么
diff a.csv b.csv | sed -n '/^[0-9]\+d[0-9]*/,/^[0-9]\+[^d]*$/{/^[0-9]\+/d;s/^< //;p}'
将查找删除的字符串范围
/^[0-9]\+/d
将删除所有6842D68446772
s/^< //
s/^/
将替换所有
是否可以附加任何差异输出示例和预期的最终结果?当然…示例差异结果:6715c6643 夫人;;;Blub2;;斑点;19860314;Blub2。Blob@uni.de; 6745d6672 先生;纳特博士。;;英;;杨;19460610;英。yang@uni.de;代码>我实际得到的:Frau;;;Blub3;;布卢布;19911002;Blub3。Blooob@uni.de; 先生;浸渍;;发出砰的声响;;庞;19860225;发出砰的声响。Pong@uni.de;代码>我想要的:Frau;;;Blub3;;布卢布;19911002;Blub3。Blooob@uni.de; 先生;浸渍;;发出砰的声响;;庞;19860225;发出砰的声响。Pong@uni.de; 先生;浸渍;;平2;;庞;19931002;平2。Pong@uni.de; 先生;浸渍;;平3;;庞;19871212;平3。Pong@uni.de;代码>谢谢…这是我一直在寻找的解决方案!
/^[0-9]\+/d
s/^< //