我在文本文件中有多行,我需要将它们组合在一起。该文件大约有2亿行,因此使用Excel打开它并使用它们的内置工具是不可能的。
第一组线条如下所示:
1,example@gmail.com,Username
3,example@gmail.com,Username
4,example@gmail.com,Username
5,example@gmail.com,Username
9,example@gmail.com,Username
10,example@gmail.com,Username
我要在第一组的最后一行添加的第二组是:
1,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
3,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
4,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
5,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
9,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
10,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
如果有人有这方面的经验,我会爱上一些帮助
答案 0 :(得分:0)
正则表达式
^(\d+),(.*$)(?=[\s\S]*^\1,(.*))
格式化输出
$1,$2,$3
1,example@gmail.com,Username
3,example@gmail.com,Username
4,example@gmail.com,Username
5,example@gmail.com,Username
9,example@gmail.com,Username
10,example@gmail.com,Username
1,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
3,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
4,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
5,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
9,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
10,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
1,example@gmail.com,Username,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
3,example@gmail.com,Username,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
4,example@gmail.com,Username,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
5,example@gmail.com,Username,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
9,example@gmail.com,Username,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
10,example@gmail.com,Username,$2a$10$gdsZkf62vUfwHQX8pUGe2.7zqvBvcIPWseaJmboJw3U2sxDj18y5q
^
在行首处断言位置(\d+)
将一个或多个数字捕获到捕获组1 ,
字面匹配逗号字符,
(.*$)
捕获任意数量的任何字符(换行符除外),直到行尾的断言位置(断言行尾位置显着减少步骤)进入捕获组2 (?=[\s\S]*^\1,(.*))
肯定前瞻断言后续匹配
[\s\S]*
匹配任意数量的任何字符(\s
:任何空白字符; \S
:任何非空白字符)^
在行首处断言位置\1
匹配与第一个捕获组最近匹配的文本相同的文本,
字面匹配逗号字符,
(.*)
将任意数量的任何角色捕获到捕获组3