加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 如何遍历Unix Shell中字符串中的每个字母

发布时间:2020-12-16 01:50:44 所属栏目:安全 来源:网络整理
导读:参见英文答案 How to perform a for loop on each character in a string in Bash?????????????????????????????????????12个 我试图通过read命令迭代作为输入的字符串.我正在尝试输出每个字母和每个字母的数量然后应该使用循环依次输出每个字母.例如,如果用
参见英文答案 > How to perform a for loop on each character in a string in Bash?????????????????????????????????????12个
我试图通过read命令迭代作为输入的字符串.我正在尝试输出每个字母和每个字母的数量然后应该使用循环依次输出每个字母.例如,如果用户输入“picasso”,则输出应为:

信1:p
信2:我
信3:c
信4:a
信5:s
信6:s
信7:o

这是我目前的代码:

#!/bin/bash

# Prompt a user to enter a word and output each letter in turn.


read -p "Please enter a word: " word

for i in $word
do
 echo "Letter $i: $word"
done

我应该将输入放入数组吗?我仍然是编程循环的新手,但我发现无法弄清楚逻辑.

有什么建议?谢谢.

解决方法

结合dtmilano和patrat的答案会给你:

read -p "Please enter a word: " word

for i in $(seq 1 ${#word})
do
 echo "Letter $i: ${word:i-1:1}"
done

${#word}为您提供字符串的长度.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读