我有以下数据。
1455931_at Chrna3 1420468_at Asb17 1445520_at −−− 1436717_x_at Hbb−y 1431788_at Fabp12 1458975_at −−−
用 sed
或 VIM 编辑器我怎样才能把它改成
1455931_at Chrna3
1420468_at Asb17
1445520_at −−−
1436717_x_at Hbb−y
1431788_at Fabp12
1458975_at −−−
因此所有具有_at
的单词都将成为每一行的第一行。
每行由成对的 _at 和基因项组成。
最佳答案
在 Vim 中,我会这样做:
:%s/ /^M/g
:g/_at/j
^M
是通过按 control-V(Windows 上的 control-Q)然后按 Enter/Return 键输入的。
这假定标记之间有单个空格;正如@Floris 建议的那样,您可以使用 s/\+/^M/g
将多个连续空格转换为单个换行符。或者您可以使用 s/\v\s+/^M/g
对任何连续的空格(包括制表符和文字空格字符)执行相同的操作。
关于linux - 使用 sed 或 VIM 将空格替换为新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20510302/