在文本每一行的行首和行尾都插入特定的相同字符或文本

这个问题也可以说成是如何在长文本每一行的前面和后面都插入特定的相同字符或文本?
例如原始txt文档为:


1

2

3

4


床前明月光,

疑是地上霜。

举头望明月,

低头思故乡。

要在每一行的前面和后面都插入特定的相同字符或文本,就要变成如下效果:


1

2

3

4


123abc 床前明月光, 456xyz

123abc 疑是地上霜。 456xyz

123abc 举头望明月, 456xyz

123abc 低头思故乡。 456xyz

这个例子只是短了点,可以手动复制粘贴,但如果是长文本又该如何快捷操作?

经过查阅大量资料,有以下几种办法:

办法一:notepa++的列编辑

先说在每行行首插入相同文本的办法。首先把原始文本粘贴到notepa++里,然后事先复制好你要重复输入的字符123abc,然后把光标移到第一行第一列,也就是“床”的前面,然后按住ALT键,鼠标从第一行直接拉到最末行,然后就看到光标变长了,最后直接ctrl+v粘贴即可。
然后把光标移到第一行的末尾,就可以用列编辑在每行行尾插入重复文本了。

办法二: notepa++正则表达式替换

把原始文本粘贴到notepa++里后,搜索,替换,查找目标里输入^,替换为里输入123abc,注意:下方的查找模式里要选择“正则表达式”,最后点击“全部替换”就能看到效果了。

行尾操作也类似,查找目标里输入$,替换为里输入456xyz即可。

^匹配行首,而$匹配行尾。

办法三:gVIM命令

如果你使用vim,那么下面的命令可以让你在每行快速插入重复字符。
每行的行首都添加自定义的文本或字符串:


1

:%s/^/要插入的字符串

每行的行尾都自定义的文本或字符串


1

:%s/$/要插入的字符串

例如要在每行行尾输入456xyz,可以先打冒号,然后直接ctrl+v或者用手势粘贴%s/$/456xyz即可。

另一个在每行行首插入相同字符的办法,这是在国外网站上发现的:
先调光标到第一行的行首,然后按Ctrl+Q选择列,然后按j选择多列,然后按Shift+i,然后输入你要像插入的字符串,最后按Esc就OK了。

办法四:excel的CONCATENATE函数

先复制原始txt文档,然后新建一个excel,在B1单元格右键,粘贴,然后在A1中输入123abc,下拉复制;同样在C1中输入456xyz,下拉复制。然后在D1中输入=CONCATENATE(A1,B1,C1),回车即可把A1B1C1连起来,最后下拉就完成了。
其中=CONCATENATE(A1,B1,C1)命令等同于=A1&B1&C1,当元素少的时候,使用&比较简便。

我也在知乎提了这个问题,希望知道更多更好的办法:)

参考:

    1. Notepad++的列编辑功能
    2. vim 每行行首或行行尾插入相同字符串
    3. How do I insert text at beginning of a multi-line selection in vi/Vim?
    4. Excel中concatenate函数的使用方法
      1. from: http://jerry011235.github.io/2015/11/19/%E5%9C%A8%E6%96%87%E6%9C%AC%E6%AF%8F%E4%B8%80%E8%A1%8C%E7%9A%84%E8%A1%8C%E9%A6%96%E5%92%8C%E8%A1%8C%E5%B0%BE%E9%83%BD%E6%8F%92%E5%85%A5%E7%89%B9%E5%AE%9A%E7%9A%84%E7%9B%B8%E5%90%8C%E5%AD%97%E7%AC%A6%E6%88%96%E6%96%87%E6%9C%AC/
时间: 2024-12-24 07:53:24

在文本每一行的行首和行尾都插入特定的相同字符或文本的相关文章

linux中的vim 编辑一行内容,如何使光标快速移动到行首和行尾以及行中间某处啊?

光标定位G 移至行行首nG 移至第n行行首n+ 移n行行首n- 移n行行首n$ 移n行(1表示本行)行尾0 所行行首$ 所行行尾^ 所行首字母h,j,k,l 左移移移右移H 前屏幕首行行首M 屏幕显示文件间行行首L 前屏幕底行行首 更参考原文移行道两0 ^ (shift+6)行首第字符空白字符点区别移行尾 $ (shift+4) 追问 请问如何移动到某行的中间字符处啊

Vim快速移动光标至行首和行尾

1. 需要按行快速移动光标时,可以使用键盘上的编辑键Home,快速将光标移动至当前行的行首.除此之外,也可以在命令模式中使用快捷键"^"(即Shift+6)或0(数字0). 2. 如果要快速移动光标至当前行的行尾,可以使用编辑键End.也可以在命令模式中使用快捷键"$"(Shift+4).与快捷键"^"和0不同,快捷键"$"前可以加上数字表示移动的行数.例如使用"1$"表示当前行的行尾,"2$&q

bash快捷建-光标移到行首、行尾等

转自:http://digdeeply.org/archives/12131599.html ctrl键组合ctrl+a:光标移到行首.ctrl+b:光标左移一个字母ctrl+c:杀死当前进程.ctrl+d:退出当前 Shell.ctrl+e:光标移到行尾.ctrl+h:删除光标前一个字符,同 backspace 键相同.ctrl+k:清除光标后至行尾的内容.ctrl+l:清屏,相当于clear.ctrl+r:搜索之前打过的命令.会有一个提示,根据你输入的关键字进行搜索bash的historyc

mac shell终端编辑命令行快捷键——行首,行尾

Ctrl + d        删除一个字符,相当于通常的Delete键(命令行若无所有字符,则相当于exit:处理多行标准输入时也表示eof) Ctrl + h        退格删除一个字符,相当于通常的Backspace键 Ctrl + u        删除光标之前到行首的字符 Ctrl + k        删除光标之前到行尾的字符 Ctrl + c        取消当前行输入的命令,相当于Ctrl + Break Ctrl + a        光标移动到行首(Ahead of l

vim在行首和 行尾加

在每行开始加入“<a href=”   vim 命令:          :%s/^/<a href=/g 在每行尾加入 “</a>”    vim命令 :                  :%s/$/<\/a>/g

使用 notepad++ 编辑器在行首、行尾添加字符

转自https://blog.csdn.net/jesionsly/article/details/51733909 首先需要下载 notepad++ 使用快捷键 ctrl+h ,在查找目标中写^,然后选择正则表达式,点击全部替换,就可以在行首批量添加 然后替换行尾,我们只要将查找目标填写$,并且也选择正则表达式,点击替换全部即可在行尾批量添加 原文地址:https://www.cnblogs.com/HIT-ryp/p/11754962.html

linux shell 用sed命令在文本的行尾或行首添加字符

from:http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed命令上,今天不总结一下都对不起昨天流逝的时间啊~~~ 用sed命令在行首或行尾添加字符的命令有以下几种: 假设处理的文本为test.file 在每行的头添加字符,比如"HEAD",命令如下: sed 's/^/HEAD&/g' test.file 在每行的行尾添加字符,比如“T

EditPlus行首行尾批量添加字符

打开EditPlus,输入多行数据,快捷键ctrl+h 打开替换窗口,选择"正则表达式"替换 行首批量添加   查找"^" 替换为"我是行首aaa" 行尾批量添加   查找"\n" 替换为"'bbb我是行尾\n" editplus查找替换的正则表达式应用 表达式 说明 \t 制表符. \n 新行. . 匹配任意字符. | 匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 &qu

批处理系列(12) -合并文本(交叉合并/除重复除空行/行首行尾加特定字符)

结合本系列文章第一篇,看本文. 交叉合并两个文本文件的内容. @Echo Off title 交叉合并文本内容 by:小可([email protected]) :GTBegin @echo 默认合并目录下 a.txt 和 b.txt 两个文本文件到 c.txt,确定继续?(y/n) set /p GTConfirm= if "%GTConfirm%"=="y" goto GTYES if "%GTConfirm%"=="Y"