以下是一个使用Bash Shell的示例代码,用于获取n行文本并将重复的数字视为一个数字。
#!/bin/bash
# 获取输入的行数
read -p "请输入要获取的行数: " n
# 读取n行文本
for ((i=1; i<=n; i++))
do
read -p "请输入第 $i 行文本: " line
lines+=("$line")
done
# 处理重复数字
unique_numbers=()
for line in "${lines[@]}"
do
# 使用空格分割每行中的数字
numbers=($line)
for number in "${numbers[@]}"
do
# 判断数字是否已经存在于unique_numbers中
if [[ ! " ${unique_numbers[@]} " =~ " $number " ]]; then
unique_numbers+=("$number")
fi
done
done
# 打印结果
echo "去重后的数字:"
for number in "${unique_numbers[@]}"
do
echo "$number"
done
这段代码首先会要求用户输入要获取的行数,然后逐行读取输入的文本。接着,它会将每行中的数字以空格为分隔符进行拆分,并判断每个数字是否已存在于unique_numbers
数组中。如果不存在,则将该数字添加到unique_numbers
数组中。
最后,代码会打印出去重后的数字列表。
请注意,这段代码假设所有输入的数字都以空格分隔,并且每行文本中的数字是唯一的。如果输入的数字之间使用其他分隔符,你可以根据实际情况进行调整和修改。