단순하게 TTTAATCGTACGTAGCTACGTACGTACG
와 같이 1개의 레코드에 그냥 쭉 이어진 data가 있는데요
이걸
T T T A A T C G T A C G
이런식으로 재 배열을 하고 싶습니다..
이걸 어떻게 해야 할까요........?
AWK 에서 가능 할까요?????????
행이 하나라 그다지 awk에 적합한 처리는 아닌거 같으나...
{ i=1; while ((a = substr($0, i, 1))) { printf "%c", a ; printf (i % 3) ? " " : "\n"; i++ } }
sed 's,\(.\)\(.\)\(.\),\1 \2 \3\n,g' input.txt
fold 라는 명령어를 쓰시면 됩니다.
echo "TTTAATCGTACGTAGCTACGTACGTACG" | fold -w 3
만일 여러 줄이라면 fold 이전에 tr 을 넣어서
echo -e "TTTAATCGTACGTAGCTACGTACGTACG\nTTTAATCGTACGTAGCTACGTACGTACG" | tr -d '\n' | fold -w 3
하시면 됩니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
행이 하나라 그다지 awk에 적합한 처리는 아닌거
행이 하나라 그다지 awk에 적합한 처리는 아닌거 같으나...
sed 's,\(.\)\(.\)\(.\),\1 \2
sed 's,\(.\)\(.\)\(.\),\1 \2 \3\n,g' input.txt
DNA sequence 인가요? ^^
fold 라는 명령어를 쓰시면 됩니다.
echo "TTTAATCGTACGTAGCTACGTACGTACG" | fold -w 3
만일 여러 줄이라면 fold 이전에 tr 을 넣어서
echo -e "TTTAATCGTACGTAGCTACGTACGTACG\nTTTAATCGTACGTAGCTACGTACGTACG" | tr -d '\n' | fold -w 3
하시면 됩니다.
댓글 달기