2012-11-17 83 views
1

我有一个带有蛋白质序列的文本文件。我想将所有小写字母替换为大写字母'C'。我怎样才能用awk做到这一点?如何使用awk将小写字母替换为大写字母'C'?

>1CHE 
aHKLbMaHc 
>2HV3 
PNMRrYnf 
>5GH3 
LKDeVmqQ 

desired output 

>1CHE 
CHKLCMCHC 
>2HV3 
PNMRCYCC 
>5GH3 
LKDCVCCQ 
+2

你可以用'tr'做到这一点 –

+0

@SaddamAbuGhaida:我认为OP只是想改变蛋白质序列,而不是序列的名称。 'tr'可能不合适。虽然问题不是很明确...... – Steve

回答

0

我会用sed此:

sed '/^>/!s/[a-z]/C/g' file.txt 

如果您想在awk,那就是:

awk '!/^>/ { gsub(/[a-z]/, "C") }1' file.txt 

结果:

>1CHE 
CHKLCMCHC 
>2HV3 
PNMRCYCC 
>5GH3 
LKDCVCCQ 
+0

非常感谢! – user1776907

6
echo 'changecase' | tr [:lower:] C 
+0

在ZSH中,需要引用'[:lower:]'。 – joepd

相关问题