2012-04-22 3 views
2

나는에 의해 지정된 필드 2, N = 값에서 내가 문자열로 필드 4의 n 번째 문자를 교체하려고이AWK와 필드의 n 번째 문자를 대체

seq1 CT 5 CCCGCTGCTGATGAC 
seq2 AG 8 CTGTGTAGATGATGGGTTAGAG 
seq3 TG 3 CGTGTGACA 

처럼 보이는 파일이 필드 3. 출력은 내 시도 무슨 일이 일어날 것입니다 내 생각이

awk '{a=$3; b=$2; sub(/(substr($4, a, 1))/,b); print $0}’ 

과 같은

seq1 CT 5 CCCGCTTGCTGATGAC 
seq2 AG 8 CTGTGTAAGATGATGGGTTAGAG 
seq3 TG 3 CGTGGTGACA 

것 substr 명령으로 지정된 문자열과 변수 b를 얻는 대신 sub 명령으로 지정된 것을 whats로 처리한다는 것입니다. 검색 후 나는 이것을하는 올바른 방법을 찾을 수 없습니다.

건배,

답변

3
awk '{$4 = substr($4, 1, $3-1) $2 substr($4, $3+1); print}' 
+0

+1. 나는 이것을하는 더 간단한 방법을 생각할 수 없다. :) – ghoti

+0

우수. 고맙습니다! – user1308144