显示奇数位置数字的 Shell 脚本
这里给出了一个数字列表,我们的任务是从给定的数字中找到奇数位置。
例子:
Input: 123456
Output: 135
Explanation: 1, 2, 3 are at odd position.
Input: 34567
Output: 357
Explanation: 3, 5, 7 are at odd position.
我们将不得不为动态脚本输入用户的数字。输入数字后,我们需要判断输入的是不是数字。我们也可以接受带符号的数字。我们必须从用户输入,直到他/她输入一个纯数字。然后我们可以确切地知道变量中有多少位数字,然后我们只需要循环遍历奇数位数字并打印相同的数字。使用 cut、read 和其他基本的 Linux 实用工具使任务更简单有效。
方法:
- 接受用户的意见。
- 数字的计数。
- 选择特定的数字。
- 亨德尔+和-符号(符号)。
- 得到结果。
下面是实现:
#!/bin/bash
n=0
while ! [[ $n =~ "^[-+]?[0-9]+$" ]]
do
read -p "Enter a number : " n
l=${#n}
if [[ $n =~ ^[+-]?[0-9]+$ ]];then
if [[ $n =~ ^[+-] ]];then
i=2
fi
if [[ $n =~ ^[0-9] ]];then
i=1
fi
while [ $i -le $l ]
do
d=$(echo $n | cut -c $i)
echo $d
i=$(($i + 2))
done
break
fi
done
输出: