我有这个文本文件,我需要向下移动一行..反复。
这是原始文件
txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-
txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-
txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-
specific-word txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-
txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-
这是我需要的文件
txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-
txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-
txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-
txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-
specific-word txt-txt-txt-txt-txt-txt-txt-txt-txt-txt-
特定的单词enter code here
是相同的,但是行的其余部分不同,我只需要将其向下移动一行。
我使用单击线条后执行的线条操作,并选择将线条向下移动的选项,或者使用键盘快捷键 ctrl shift down
然而,我希望有另一个自动化功能,因为文件真的很大,包含超过 20,000 行需要向下移动。
答案1
- Ctrl+H
- 找什么:
(^.*?specific-word.*)(\R)(.+)
- 用。。。来代替:
$3$2$1
- 查看 相符
- 查看 环绕
- 查看 正则表达式
- 取消选中
. matches newline
- Replace all
解释:
( # start group 1
^ # beginning of line
.*? # 0 or more any character but newline, not greedy
specific-word # the word to search
.* # 0 or more any character but newline
) # end group 1
(\R) # group 2, any kind of linebreak
(.+) # group 3, 1 or more any character but newline
替代品:
$3 # content of group 3, the second line
$2 # content of group 2, linebreak
$1 # content of group 1, the first line
截图(之前):
截图(之后):