如何连接一列中连续的单元格对,并将每对的第二个单元格添加到第一个单元格。
例如:
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
答案3
在 Vi/Vim 中你可以做这样的事情:
:g/./j!
这基本上意味着,:g/
对每个非空行 ( ) 执行 ( ).
并将其与下一行连接而不添加尾随空格 ( j!
)
更多内容请阅读帮助
:h :g
:h :j
:h /.