我有一个字符串,想要逐行打印每个字符。
输入:
str="Hello World"
预期输出:
H
e
l
l
o
W
o
r
l
d
我尝试下面的脚本,得到不同的输出
#!/bin/bash
txt="Hello World"
for i in ${txt[*]}
do
echo $i
done
我输出:
Hello
World
几点想法:
使用read's
的能力一次读取n
字符:
while read -r -n1 i
do
echo "$i"
done <<< "$str"
使用bash's
子串能力:
for ((i=0;i<"${#str}";i++))
do
echo "${str:i:1}"
done
将str
馈送给grep
作为here-string:
grep -o . <<< "${str}"
所有这些生成:
H
e
l
l
o
W
o
r
l
d