如何连接单元格对;每隔一个单元格连接到第一个单元格

如何连接单元格对;每隔一个单元格连接到第一个单元格

如何连接一列中连续的单元格对,并将每对的第二个单元格添加到第一个单元格。

例如:

santhosh
kumar
sagar
sv
sai
deva

结果应该是:

santhoshkumar
sagarsv
saidevax

答案1

如果你有 sed,你可以这样做:

sed 'N;s/\r\?\n//' myfile.txt

解释:sed 逐行读取文件。'N' 将下一行(即,如果我们当前在第 1 行,则为第 2 行)添加到缓冲区,然后我们需要删除缓冲区中当前两行之间的“换行符”。's' 命令将行上的某些文本(在第一个和第二个斜杠之间指定)替换为其他文本(在第二个和第三个斜杠之间指定)- 在本例中,我们希望替换以空字符结尾的行。

对于 Unix 类型的行尾,这是通过删除换行符 '\n' 来实现的,但如果是 Windows 类型的文档,则换行符前面会有回车符 '\r'。因此 \r\? 是“可选的 \r”,其中转义的问号表示前一个字符可能存在也可能不存在。

答案2

鉴于gvim标签,我假设你正在使用gvim或者vim编辑器。尝试以下宏:

:map q Jxjq

J 合并两行,留下一个空格;x删除该空格,然后j移动到下一行。q末尾的重复该过程;它匹配命令q后的:map

那是一个老式的vi宏;我不需要学习更广泛、更强大的vim宏功能。

答案3

在 Vi/Vim 中你可以做这样的事情:

:g/./j!

这基本上意味着,:g/对每个非空行 ( ) 执行 ( ).并将其与下一行连接而不添加尾随空格 ( j!)

更多内容请阅读帮助

:h :g
:h :j
:h /.

相关内容