如何在bash中字符串的每个字符循环执行? [英] How to perform a for loop on each character in a string in BASH?

查看:841
本文介绍了如何在bash中字符串的每个字符循环执行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样一个变量:

words="这是一条狗。"

我想的时间,例如,使一对环上的每个字符,一第一个字符=这,那么字符=是字符=一

我所知道的唯一的办法就是输出每个字符分隔线在一个文件中,然后用同时读取行,但这似乎非常低效的。

The only way I know is to output each character to separate line in a file, then use while read line, but this seems very inefficient.


  • 如何处理字符串中的每个字符通过一个for循环?

推荐答案

通过 SED LANG =的en_US.UTF-8 ,我有工作权如下:

With sed on dash shell of LANG=en_US.UTF-8, I got the followings working right:

$ echo "你好嗎 新年好。全型句號" | sed -e 's/\(.\)/\1\n/g'
你
好
嗎

新
年
好
。
全
型
句
號

$ echo "Hello world" | sed -e 's/\(.\)/\1\n/g'
H
e
l
l
o

w
o
r
l
d

因此​​,输出可以用成环,当读...;做...;做

编辑的示例文本翻译成英文:

edited for sample text translate into English:

"你好嗎 新年好。全型句號" is zh_TW.UTF-8 encoding for:
"你好嗎"     = How are you[ doing]
" "         = a normal space character
"新年好"     = Happy new year
"。全型空格" = a double-byte-sized full-stop followed by text description

这篇关于如何在bash中字符串的每个字符循环执行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆