1. 提取fasta文件abc.fas中序列>LG02的第164~202碱基之间序列,另存为abc_LG02_164_202.fas:
$ more abc.fas|awk 'BEGIN{ORS=""}{if(/>/)print "\n"$0"@";else print $0}'|grep LG02|sed 's/@/\n/g'|grep -v '>'|awk '{print substr($0,164+1,202-164-1)}' >abc_LG02_164_202.fas
在文件abc_LG02_164_202.fas第一行插入“>abc_LG02_164_202”
$ sed -i '1i >abc_LG02_164_202' abc_LG02_164_202.fas
2. 截取fasta文件中序列XXXX及其前后n个碱基的序列:
$ egrep -o ‘.{n}XXXX.{n}’ abc.fas
3. 从fasta文件中提取列表list中的序列(list格式:>a\n>b\n):
$ awk 'NR==FNR{a[$0];next} /^>/{b=($1 in a)} b' list abc.fas >list.fas
4. 在fasta格式的氨基酸序列文件中,将序列中字符“.”去掉:
$ more abc.fas|awk '{if(!/>/)gsub(/\./,"");print}' > abc.fasta
5. 去除空行,去除wei行
$ sed '/^\s*$/d'
$ sed -i '$d' a.txt
6. 批量重命名
$ ls |grep fastq.gz|awk -F "." '{print$1}'|xargs -I {} mv {}.fastq.gz {}.fq.gz
7. 拆分文件,可将sh脚本拆分多个脚本同时后台运行,避免运行任务过多内存不足
$ split -l 10 abc.sh -d -a 4 abc_
8. 提取rsem分析结果的FPKM
ls|grep genes.results|awk '{print "awk \047{print $NF }\047 "$0 " >"$0".list"}'|sh
ls |grep results.list|awk 'BEGIN{ORS="\t";print "paste\tID"}{print$0}END{print" >Expression.FPKM\n"}'|sh
ls |grep results.list|sed 's/.genes.results.list//g'|awk 'BEGIN{ORS="\t";print "sed -i \0471i ID"}{print $0}END{print"\047 Expression.FPKM\n"}'|sh
more abc.list|awk '{print"grep \047\\b"$0"\\b\047 abc_Expression.FPKM >>abc.FPKM"}'|sh