Useful sequence bash scripts

1.统计fasta文件

grep '>' filename.fasta | wc -l

2. 在文件中的每一行之前加上一个字符串,比如:aaa

sed 's/^/aaa/g' filename.txt > outputfile.txt

3. 遍历整个文件夹,把所有txt文件中的aaa替换成bbb

find . -name '*.txt' | xargs perl -pi -e 's/aaa/bbb/g'

###FASTA文件拆分:
###a. a.fasta中提取第10至第20个序列存到b.fasta

awk -v RS='>' 'NR>1{i++}i>=10&&i<=20{print ">"$0}' a.fasta|sed '/^$/d'>b.fasta
####上面命令行中的红色的1020可以换为其它数字

###b.input.fasta中每一条序列保存到一个文件中, 这个是在网上看到的,链接在这里。

awk '/^>/{f=++d".fasta"} {print > f}' input.fasta
###FASTA文件合并:

cat *.fasta > output.fasta

###查找替换所有的一个或者多个tab并用空格替换,然后用cut提取以空格为分隔符的第一列然后保存。
sed -e "s/\t\+/ /g" all_Pleosporales_UNITE_id.txt | cut -d " " -f1 | cat > id.txt
########查找替换all the "_" with "." then replace "f." with "f_"
sed 's/_/./g'ITS1.fasta_pick.97cdhit.clstr > ITS1.fasta_pick.97cdhit.clstr1

##把文件中第一个下划线替换成.,后面的不变
sed 's/_/./1' test.fasta > test1.fasta

猜你喜欢

转载自blog.csdn.net/zhouxin518/article/details/80207304