Я пытаюсь рассматривать серию букв как массив, чтобы перебирать каждую букву в цикле 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
Что-то не так с моим синтаксисом? Или есть лучший способ вызвать каждый элемент строки?
for
здесь, но вы можете просто выполнитьcat $data | sed 's/./&\n/g'
, чтобы получить этот вывод. Или сawk
:cat $data | awk 'BEGIN{FS="";OFS="\n"}{$1=$1}1'
- person JNevill   schedule 02.10.2018echo ACACACACACA | awk 'BEGIN{FS=""}{for (i=1;i<=NF;i++){print $i}}'
может дать вам подсказку. Удачи. - person shellter   schedule 02.10.2018