如果行的第一个字符是 | 如何将文件中的上一行追加到下一行

如果行的第一个字符是 | 如何将文件中的上一行追加到下一行

输入 :

MAKTG|MAKTX|MANDT|MATNR|SPRAS
ARALDITE AV 5308
|araldite AV 5308
|910|132252374801|E
HARDER HV 5309
|harder HV 5309
|910|132252374901|E
BAYFLEX 5965 I|Bayflex 5965 I|910|132252380101|E
KUPFERPULVER FEIN 2703|kupferpulver fein 2703|910|132252382701|E

所需输出:

MAKTG|MAKTX|MANDT|MATNR|SPRAS
ARALDITE AV 5308|araldite AV 5308|910|132252374801|E
HARDER HV 5309|harder HV 5309|910|132252374901|E
BAYFLEX 5965 I|Bayflex 5965 I|910|132252380101|E
KUPFERPULVER FEIN 2703|kupferpulver fein 2703|910|132252382701|E

答案1

由于根据所选标签,您在 Linux 上,因此您可以使用-zGNU 选项,比重复问题中给出的答案更简单sed

sed -z 's/\n|/|/g'

-z要一次处理整个文件,然后将 ( s) 所有 ( g) 换行符后跟一个小节 ( \n|) 替换为仅一个小节。

相关内容