1. 将fasta中的header name替换为对应的fasta文件名
#输出在屏幕,不修改原文件
awk '/^>/{print ">" substr(FILENAME,1,length(FILENAME)-6); next} 1' *.fasta
#直接修改原文件
for file in *.fna_16s; do sed -i "s/>.*/>${file%%.*}/" "$file" ; done
#${file%%.*}中的%%表示file中只保留.左边的字符串
2. 提取fasta文件第一条序列信息
for file in *.fna_16s; do seqkit head -n 1 $file -o /home/czh/Desktop/02_BD177_compare_genome/00_BD177_phy_16s/119genome_16s_seq/${file}; done
3. 批量修改文件名
1.将‘img_000NNNN.jpeg’变成‘dan_NNNN.jpg’。
# rename -v 's/img_\d{3}(\d{4})\.jpeg$/dan_$1\.jpg/' *jpeg
img_0005417.jpeg renamed as dan_5417.jpg
img_0005418.jpeg renamed as dan_5418.jpg
img_0005419.jpeg renamed as dan_5419.jpg
img_0005420.jpeg renamed as dan_5420.jpg
img_0005421.jpeg renamed as dan_5421.jpg
实际操作:
将GCA_000240325.1_ASM24032v1_genomic.fna改成 ASM24032v1.fna
rename -v 's/GCA_\d{3}(\d{
2.将.jpeg 文件改成 *.jpg。
$ rename 's/\.jpeg$/\.jpg/' *.jpeg 好用!
3. 把所有的文件名大小写修改:
rename 'y/A-Z/a-z/' *
rename 'y/a-z/A-Z/' *
#将.fna后缀的文件修改成.fasta后缀
rename 's/.fna/.fasta/' *
#给文件后添加后缀
rename 's/$/\.txt/' *
批量移动一个目录下所有的gff格式的文件到指定文件夹
cp /home/czh/bacteriaData/Annotation/*/*.gff /home/czh/bacteriaData/Annotation/compaireds
解压文件
gzip -d java.gz
查看当前目录下有文件个数,包括子目录下的文件
find . -type f -print|wc -l
linux下如何将当前目录的文件名存到一个文本文件里
find . -type f -name "*.gz" > 1.txt
将BD177_0001后面的空格替换成“|”
notepad中查找(^>\S+)\s
替换成$1\|
####批量修改fasta文件的标题
find . -type f -name "*.faa" > name_list
将fasta中>KM 开头的标题修改成>ref|prokka|
for i in $(cat name_list); do sed 's/>KM/\>ref\|prokka\|'$i'/' $i.faa > 1_$i.faa; done
将fasta中以>开头的行的末尾加|
for i in $(cat name_list); do sed 's/^\(>.*\)/\1\|/' $i.fasta > $i.fasta1; done