How to convert number words into its equivalent digits using shell script [重复]

问题描述 投票:0回答:1

我有一个包含如下数字的文本文件:

one two three four five six seven nine 

我想把它转换成等价的数字,比如:

12345679

有什么办法可以使用 shell 脚本来实现吗?

shell ubuntu
1个回答
1
投票

创建一个将字符串映射到值的字典:

d = {'zero':'0', 
     'one':'1', 
     'two':'2', 
     'three':'3', 
     'four':'4', 
     'five':'5', 
     'six':'6', 
     'seven':'7', 
     'eight':'8', 
     'nine':'9'}

将单词序列通过字典并加入结果列表并将其变成整数。

s = 'one two three four five six seven nine' 
sequence = s.split(' ')
int(''.join([d[word] for word in sequence]))
© www.soinside.com 2019 - 2024. All rights reserved.