有一个英语单词的文本文件想导入欧路词典,但欧路不支持一词多行。文件的格式如下:
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
![Snipaste_2023-06-30_07-35-56.png]( https://s2.loli.net/2023/06/30/3ifVQ8jwLn4ONmk.png)
|
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 1
忘了打印没匹配到了的,按照原义匹配:
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. 精确的 ache,"n. 疼痛 vi. 疼痛;渴望" 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
|