我有一个分号分隔的数据文件,其中只有几行有“完整”数据集。它们位于应用数据集的行块的末尾。我希望使用shell脚本(或类似的命令行工具)将完整填充行中的数据添加到上面的行中。
例如,假设我拥有的文件包含以下数据:
86540701
86951202
86262402
86509002
86770802
86459902
86301002
86485102
86556002;Vivo Y11;1630000;NULL;;;
86447404
86161405
86388604
86106105
86426405;Xiaomi Redmi 8A Pro (Redmi 8A Dual);1465000;4;;;我希望能够找到完整的行,并将这些数据替换为上面不完整的行,如下所示:
86540701;Vivo Y11;1630000;NULL;;;
86951202;Vivo Y11;1630000;NULL;;;
86262402;Vivo Y11;1630000;NULL;;;
86509002;Vivo Y11;1630000;NULL;;;
86770802;Vivo Y11;1630000;NULL;;;
86459902;Vivo Y11;1630000;NULL;;;
86301002;Vivo Y11;1630000;NULL;;;
86485102;Vivo Y11;1630000;NULL;;;
86556002;Vivo Y11;1630000;NULL;;;
86447404;Xiaomi Redmi 8A Pro (Redmi 8A Dual);1465000;4;;;
86161405;Xiaomi Redmi 8A Pro (Redmi 8A Dual);1465000;4;;;
86388604;Xiaomi Redmi 8A Pro (Redmi 8A Dual);1465000;4;;;
86106105;Xiaomi Redmi 8A Pro (Redmi 8A Dual);1465000;4;;;
86426405;Xiaomi Redmi 8A Pro (Redmi 8A Dual);1465000;4;;;发布于 2020-12-03 09:10:05
使用sed:
sed -E '
/;/!{ :a N;/;/!{ s/\n/-/;ta; }; };
/;/ { s/\n/-/; };
:c s/([^-]*)-([^;]*)(;.*)$/\1\3\n\2\3/; tc' infilehttps://unix.stackexchange.com/questions/622677
复制相似问题