有一个英语单词的文本文件想导入欧路词典,但欧路不支持一词多行。文件的格式如下:
ability,n. 能力,能耐;才能 able,adj. 能; 有能力的;能干的 about,"prep. 关于;大约 n. 大致;粗枝大叶;不拘小节的人 adj. 在附近的;四处走动的;在起作用的 adv. 大约;周围;到处" above,"prep. 超过;在……上面;在……之上 n. 上文 adj. 上文的 adv. 在上面;在上文" accident,n. 事故;意外; 意外事件;机遇 accurate,adj. 精确的 ache,"n. 疼痛 vi. 疼痛;渴望" activity,n. 活动;行动;活跃 actor,n. 男演员;行动者;作用物 actress,n. 女演员 actually,adv. 实际上;事实上
想请问,有什么简单的办法,能把解释中带引号"
的单词( about, above, ache )的换行符换成空格,合并到一行里?最好能用现成的软件解决,必须要用到脚本的话,不知能不能赏下完整能跑的代码。
先行谢过。
1 sun1719 2023-06-30 07:17:09 +08:00 word ,通配符替换 |
![]() | 2 nopdan 2023-06-30 07:37:11 +08:00 |
![]() | 3 nopdan 2023-06-30 07:38:33 +08:00  |
![]() | 4 4641585 2023-06-30 07:51:36 +08:00 用正则把引号之后的第一个换行符删掉,循环跑到没变化就完事了。 |
5 ho121 2023-06-30 07:59:40 +08:00 via Android 这个看起来很像 csv ,导入 Excel 然后删除换行再保存 |
6 junyee 2023-06-30 08:22:35 +08:00 看起来引号新起的一行都是以单词加小数点开头. 以 notepad2 为例可以这样(不含引号): 1: [勾]正则表达式搜索: "^([a-z]+\.)" -> "++++\1" 2: [勾]转义反斜线 "\r\n++++" -> "" 或 "\n++++" -> "" |
7 ispinfx 2023-06-30 08:24:11 +08:00 via iPhone 一眼 csv |
8 18xlX5iTe9mdoau0 2023-06-30 08:27:03 +08:00 其实完全可以换个思路,让 ChatGPT 帮你实现 https://s1.locimg.com/2023/06/30/bc3de4c474938.png |
![]() | 9 tramm 2023-06-30 08:27:48 +08:00 专业的事情还是让专业的人来 你不理财, 财不离你 |
![]() | 10 nuk 2023-06-30 08:38:50 +08:00 awk '/".+/,/"$/{printf "%s ",$0}' |
![]() | 11 nuk 2023-06-30 08:46:29 +08:00 ![]() 忘了打印没匹配到了的,按照原义匹配: awk '/".+/,/"$/{if ($0 !~ /"$/) {printf "%s ",$0; next;}} {print $0}' |
![]() | 12 csrocks 2023-06-30 09:34:50 +08:00 |
![]() | 13 freedomSky 2023-06-30 09:47:01 +08:00 $ sed ':a /".*[^"]$/{N;s/\n/ /g; ta}' data ability,n. 能力,能耐;才能 able,adj. 能; 有能力的;能干的 about,"prep. 关于;大约 n. 大致;粗枝大叶;不拘小节的人 adj. 在附近的;四处走动的;在起作用的 adv. 大约;周围;到处" above,"prep. 超过;在……上面;在……之上 n. 上文 adj. 上文的 adv. 在上面;在上文" accident,n. 事故;意外; 意外事件;机遇 accurate,adj. 精确的 activity,n. 活动;行动;活跃 actor,n. 男演员;行动者;作用物 actress,n. 女演员 actually,adv. 实际上;事实上 |
![]() | 14 laqow 2023-06-30 14:40:31 +08:00 csv 如果格式没问题的话,非手动回车换行结尾是\r ,手动回车是\r\n 或\n |
![]() | 15 toan 2023-06-30 15:51:55 +08:00 |