我试图将一系列字母视为数组,以便逐行,逐元素地循环遍历for循环中的每个字母。
提取列后,我的$data
类似于:
ACACACACACA
CGCGCGCGGGG
TATATATAAAA
GAGAAAGAAGG
TGGTTTTGGTG
我的脚本:
for j in `cat $data` # go line by line
do
for k in "${j[@]}" # go through each letter element by element
do
echo $k
done
done
给出输出:
ACACACACACA
CGCGCGCGGGG
TATATATAAAA
...
我希望输出看起来像这样:
A
C
A
C
A
C
...
G
T
G
我的语法有问题吗?还是有更好的方法来调用该行的每个元素?
答案 0 :(得分:1)
假设它始终是大写字母:
$ sed 's/[A-Z]/&\n/g' inputFile
或使用以下命令将任何字符和数字替换为具有相同字符或数字的后跟换行符。
$ sed 's/./&\n/g' inputFile
或者如果您有fold
可用,
$ fold -w1 inputFile
fold
换行。使用-w1
选项,它可以绕成固定宽度1
。
答案 1 :(得分:1)
这不是纯粹的bash,但这可以使您获得所要得到的东西:
for j in `echo $data | grep -o .`
do
echo $j
done
grep命令匹配每个单个字符并将其打印出来(或在这种情况下,将其存储在变量j中,我认为您打算做的事情不仅仅只是回显它)。
答案 2 :(得分:1)
最短的选项:
<input appCurrency data-isfocused="false" type="text" class="form-control number" formControlName="myInput" />