【发布时间】:2011-08-17 19:29:43
【问题描述】:
我想在 shell 脚本中计算一个单词中元音和辅音的数量,但我不确定如何遍历这个单词。谁能帮我? 我目前拥有的是:
#!/bin/bash
echo 'Give a word'
read word
case $word
in
a*|e*|i*|o*|u*)
vowels=&((klinker + 1 ))
;;
*)
consonants=&((medeklinker + 1 ))
;;
esac
echo $vowels
echo $consonants
【问题讨论】:
-
你在追求什么?一个单词的元音数和辅音数?
-
是的,没错,但我知道在 c++ 中我如何遍历这个词,但在 unix 中,我不知道母猪如何遍历这个词,这是一个大问题:P跨度>
-
首先,您必须定义辅音和元音的含义。字母 Y 在 shy 和 byte 和 Bryce 等单词中显然是元音,而在 yellow中是半辅音> 和 Yale 以及 boy 和 they 中的半元音。 acre 中的 R 显然是元音,而 little 中的 L 显然是词首的辅音,但词尾是元音。 nth 中的 N 显然是元音,在 eaten 中也是如此。甚至 S 也可以是元音,就像在 psst 中一样。我们来讨论一下cwm这个词,W显然是那个词的元音吗?
-
@tchrist:你能引用“英亩中的 R 是元音”的来源吗,这对我来说显然不是正确的断言(事实上,它是有争议的,对我来说似乎是错误的)。 (请参阅Is 'of course' just a warning that something is not obvious?。)对于 L、N 和 S 的讨论也是如此。(威尔士语)cwm 中的 W 是双 u 字面意思;我同意那里,它充当元音。
-
@Jonathan 鉴于 元音是作为音节中心出现的声音......考虑像 little 和 acre 这样的 2 音节词。我相信我们会在他们的第一个音节上达成一致。丢弃他们最后的 E,因为无声字母在音节中不起任何作用。 C 和 T 是停止音,不是连续音,因此不能构成音节中心。剩下的只有 R&L 作为它们各自音节的元音。另一个容易推断的例子是class's:撇号总是不发音的,最后的 S 是第二个音节的元音。 Psst 有 1 个音节:P&T 是塞音,只留下 S 作为它的元音。 Qᴇᴅ
标签: unix shell scripting ubuntu