Sql 替换行中的第一个匹配项
我正试图找出如何通过Sql 替换行中的第一个匹配项,sql,regex,bash,sed,Sql,Regex,Bash,Sed,我正试图找出如何通过sed替换匹配的第一个匹配项(搜索/替换)。我希望它逐行显示(我认为这是sed的默认设置) 这是我的数据集: (4320, 38, '101.1.168.192.in-addr.arpa', 'PTR', 'test1.example.com', 3600, NULL, 1377614683), (4321, 38, '102.1.168.192.in-addr.arpa', 'PTR', 'test2.example.com', 3600, NULL, 1377614683
sed
替换匹配的第一个匹配项(搜索/替换)。我希望它逐行显示(我认为这是sed的默认设置)
这是我的数据集:
(4320, 38, '101.1.168.192.in-addr.arpa', 'PTR', 'test1.example.com', 3600, NULL, 1377614683),
(4321, 38, '102.1.168.192.in-addr.arpa', 'PTR', 'test2.example.com', 3600, NULL, 1377614683),
(4322, 38, '103.1.168.192.in-addr.arpa', 'PTR', 'test3.example.com', 3600, NULL, 1377614683),
(4323, 38, '104.1.168.192.in-addr.arpa', 'PTR', 'test4.example.com', 3600, NULL, 1377614683),
这只是一个小插曲——这是一个巨大的列表。我想为每一行取出第一个数字,特别是查找([0-9],
和(,
)。这样我就可以在默认情况下分配这个SQL语句和自动递增
值,因为我将获取这个数据集并将其导入表中(这可能与自动增量
值冲突)
以下是我希望完成后的外观:
( , 38, '101.1.168.192.in-addr.arpa', 'PTR', 'test1.example.com', 3600, NULL, 1377614683),
( , 38, '102.1.168.192.in-addr.arpa', 'PTR', 'test2.example.com', 3600, NULL, 1377614683),
( , 38, '103.1.168.192.in-addr.arpa', 'PTR', 'test3.example.com', 3600, NULL, 1377614683),
( , 38, '104.1.168.192.in-addr.arpa', 'PTR', 'test4.example.com', 3600, NULL, 1377614683)
我相信这会奏效。我尝试过一些
sed
命令,但它们似乎都会删除整个匹配项,直到行尾为止(因为我正在匹配匹配的内容,它基本上会删除每个[0-9].*,
)。您可以尝试下面的GNU-sed命令
$ sed -r 's/^\([0-9]+/( /' file
( , 38, '101.1.168.192.in-addr.arpa', 'PTR', 'test1.example.com', 3600, NULL, 1377614683),
( , 38, '102.1.168.192.in-addr.arpa', 'PTR', 'test2.example.com', 3600, NULL, 1377614683),
( , 38, '103.1.168.192.in-addr.arpa', 'PTR', 'test3.example.com', 3600, NULL, 1377614683),
( , 38, '104.1.168.192.in-addr.arpa', 'PTR', 'test4.example.com', 3600, NULL, 1377614683),
您可以尝试下面的GNU-sed命令
$ sed -r 's/^\([0-9]+/( /' file
( , 38, '101.1.168.192.in-addr.arpa', 'PTR', 'test1.example.com', 3600, NULL, 1377614683),
( , 38, '102.1.168.192.in-addr.arpa', 'PTR', 'test2.example.com', 3600, NULL, 1377614683),
( , 38, '103.1.168.192.in-addr.arpa', 'PTR', 'test3.example.com', 3600, NULL, 1377614683),
( , 38, '104.1.168.192.in-addr.arpa', 'PTR', 'test4.example.com', 3600, NULL, 1377614683),
您可以尝试下面的GNU-sed命令
$ sed -r 's/^\([0-9]+/( /' file
( , 38, '101.1.168.192.in-addr.arpa', 'PTR', 'test1.example.com', 3600, NULL, 1377614683),
( , 38, '102.1.168.192.in-addr.arpa', 'PTR', 'test2.example.com', 3600, NULL, 1377614683),
( , 38, '103.1.168.192.in-addr.arpa', 'PTR', 'test3.example.com', 3600, NULL, 1377614683),
( , 38, '104.1.168.192.in-addr.arpa', 'PTR', 'test4.example.com', 3600, NULL, 1377614683),
您可以尝试下面的GNU-sed命令
$ sed -r 's/^\([0-9]+/( /' file
( , 38, '101.1.168.192.in-addr.arpa', 'PTR', 'test1.example.com', 3600, NULL, 1377614683),
( , 38, '102.1.168.192.in-addr.arpa', 'PTR', 'test2.example.com', 3600, NULL, 1377614683),
( , 38, '103.1.168.192.in-addr.arpa', 'PTR', 'test3.example.com', 3600, NULL, 1377614683),
( , 38, '104.1.168.192.in-addr.arpa', 'PTR', 'test4.example.com', 3600, NULL, 1377614683),
请发布您尝试过的命令请发布您尝试过的命令请发布您尝试过的命令请发布您尝试过的命令请发布您尝试过的命令请发布您尝试过的命令结尾
g
与此无关,即使它不应破坏命令。这非常有效。谢谢。我最终使用了此命令,然后补充使用了dif使用ferent表单更改我知道需要在数据库中引用的当前特定数字。这使我能够以很少的执行时间导入大约400个SQL条目。非常感谢。我要说的是,结束g
与此无关,即使它不应该破坏命令。这非常有效。谢谢。我最终使用了然后以不同的形式补充使用,以更改我知道需要在数据库中引用的当前特定数字。这允许我以很少的执行时间导入大约400个SQL条目。非常感谢。我想说,结束g
与此无关,即使它不应中断命令。这项工作d太好了。谢谢你。我最终使用了这个,然后以一种不同的形式补充使用它来更改我知道需要在数据库中引用的当前特定数字。这使我能够以很少的执行时间导入大约400个SQL条目。非常感谢。我想说,结束g
与此无关,即使它不应该破坏命令。这非常有效。谢谢。我最终使用了它,然后以一种不同的形式补充使用它来更改我知道我需要在数据库中引用的当前特定数字。这允许我以很少的执行时间导入约400个SQL条目。非常感谢。