我有这个字符串去除串在bash脚本的一封信
字母= ABCDEFGHIJKLMNOPQRSTUVWXYZ
,我想,让用户输入一个特定的词,从字母表删除其信;但一旦我得到输入,我不知道如何真正删除字符串中的字母,以便它的大小最小化。我写了下面的代码:
#!/bin/bash
Alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
echo -n "Please enter your key: "
read -e KEY
Asize=`expr ${#Alphabet} - 1`
Ksize=`expr ${#KEY} - 1`
kcount=0
#A loop to go through the key characters
while [ $kcount -le $Ksize ]
do
D=${KEY:$kcount:1}
Acount=0
#A loop to go through the alphabet characters to look for the current key letter to delete it
while [ $Acount -le $Asize ]
do
if [ "${KEY:$kcount:1}" == "${Alphabet:$Acount:1}" ];
then
**REMOVING PART**
break
else
Acount=$[$Acount+1]
如果有人知道我该怎么做,我会非常感谢他的帮助。 谢谢。一个例子示:
输入:CZB 输出:
Kcount = 0:ABDFGHIJLMNOPQRSTUVWXYZ
Kcount = 1:ABDFGHIJLMNOPQRSTUVWXY
Kcount = 2:ADFGHIJLMNOPQRSTUVWXY
'$ [...]''和'expr'(算术)一样已经过时了。改为使用标准的'$((...))'符号。 – chepner 2014-08-31 14:58:33