【发布时间】:2020-09-22 23:03:07
【问题描述】:
我有一个无法解决的奇怪问题。我正在使用以下 bash 脚本在 unix 上将两行合并在一起。但是,第一行的最后一列与第二行的第一列合并(没有空格)。有人可以帮忙吗?
sed 'N;s/\n/ /' input.txt >> output.txt
输入:
chr6 108930289 108930461 GWNJ-0842:521:GW1906282259th:8:1101:11373:39475:GCCAAGsize=1
HPV45 5328 5400 GWNJ-0842:521:GW1906282259th:8:1101:11373:39475:GCCAAGsize=1
chr3 153084969 153085002 GWNJ-0842:521:GW1906282259th:8:1101:14560:33322:GCCAATsize=6
HPV45 4014 4219 GWNJ-0842:521:GW1906282259th:8:1101:14560:33322:GCCAATsize=6
输出:(例如 HPV45 附加到它之前的 1)
chr6 108930289 108930461 GWNJ-0842:521:GW1906282259th:8:1101:11373:39475:GCCAAGsize=1HPV45 5328 5400 GWNJ-0842:521:GW1906282259th:8:1101:11373:39475:GCCAAGsize=1
chr3 153084969 153085002 GWNJ-0842:521:GW1906282259th:8:1101:14560:33322:GCCAATsize=6HPV45 4014 4219 GWNJ-0842:521:GW1906282259th:8:1101:14560:33322:GCCAATsize=6
【问题讨论】:
-
嗨 mevets,感谢您的评论。它不允许我附加 txt 文件。我从输入和输出中粘贴了几行。这有帮助吗?
-
你试过
sed 'N;s/\r\n/ /' file吗? -
您好 Oguz,感谢您的回复。我尝试了这个以及我在网上找到的几个不同的选项。发生的情况是第二行保留在第二行中,在它之前只添加了一个空格。我能够真正合并这两行的唯一方法是我使用的代码,它最终将文本合并在一起。如果你还能想到什么,请告诉我,我会试试的。
-
od -c ./input在size=1和HPV45之间显示什么?例如,当我使用您的示例输入运行它时,我看到s i z e = 1 \n H P V -
嗨,Seige,谢谢。是的,它也向我展示了输入文件的相同内容。然而,在输出文件中,它显示 s i z e = 1 H P V