2012-11-17 139 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

相關問題