"#"으로 시작하지 않는 파일의 모든 줄 시작 부분에 "chr"을 인쇄하고 싶습니다.
입력하다:
##toto
#titi
16
17
산출:
##toto
#titi
chr16
chr17
awk '$1 ~ /^#/ ...
awk( ) 또는 grep( ) 을 사용해 보았 grep "^[^#]" ...
으나 성공하지 못했습니다. 어떻게 해야 하나요?
답변1
^[^#]
그렇지 않은 문자로 시작하여 #
접두어로 줄을 재구성하는 의미가 필요하다고 생각합니다."chr"
awk '/^[^#]/{ $0 = "chr"$0 }1'
답변2
사용sed
sed '/^#/! s/.*/chr&/'
답변3
주문하다
awk '{if(!/^#/ && !/^$/){$0="chr"$0;print}else if (/^#/ && !/^$/){print $0}}' filename
산출
##toto
#titi
chr16
chr17
파이썬
#!/usr/bin/python
import re
k=re.compile(r'^#')
e=re.compile(r'^$')
p=open('filename','r')
for i in p:
if not re.search(k,i) and not re.search(e,i):
print "chr{0}".format(i.strip())
elif not re.search(e,i):
print i.strip()
산출
##toto
#titi
chr16
chr17