【发布时间】:2021-08-10 23:28:50
【问题描述】:
在 Bash 中,我有一个包含以下内容的文件:
05-24-2021,DIS,HostXYZ, ,,No connection possible,
05-24-2021,DIS,HostABC,BWV ,No connection possible,
06-18-2021,SID,HostWER,SE1 ,No connection possible,
06-18-2021,SID,"Host1:32115,Host2:32115", ,SOME TEXT,
06-18-2021,SID,HostZZZ, ,,
06-18-2021,SID,"Host3:32115,Host4:32115", ,ALSO SOME TEXT,
我想搜索一种方法来复制包含 2 个给定主机的行并将它们分成 2 行,如下所示:
05-24-2021,DIS,HostXYZ, ,,No connection possible
05-24-2021,DIS,HostABC,BWV ,No connection possible,
06-18-2021,SID,HostWER,SE1 ,No connection possible,
06-18-2021,SID,Host1, ,SOME TEXT,
06-18-2021,SID,Host2, ,SOME TEXT,
06-18-2021,SID,HostZZZ, ,,
06-18-2021,SID,Host3, ,ALSO SOME TEXT,
06-18-2021,SID,Host4, ,ALSO SOME TEXT,
也许你有任何改变它的想法?我真的很感激。我用 awk、sed 等进行了尝试。我能够复制(使用“sed 's/:/:/p'”)至少受影响的行,但不能“过滤掉”特定值。
【问题讨论】:
-
输入中是否有文字
**?这听起来像你只是想解析一个伪csv,它在一些用双引号表示的列中具有分隔符。 -
如果适合您的问题,请不要忘记将答案标记为已接受。
标签: awk sed duplicates