#每两行合并为一行,并且以制表符分隔

#!/bin/bash

sed -n ‘{N;s/\n/\t/p}’ column.txt > type1.text

 

#切割文件

#!/bin/bash

for i in {1..50}

do

m=$(($i*3-2))

n=$(($i*3))

cut -b$m-$n text.text > $i.txt

i=$(($i+1))

done

 

#有两个文件,其中文件b是文件a部分行的集合,先将fileb分解为小文件,每个文件一行,再从文件a中取出包含文件b的部分。将文件b拆开为每行一个文件,再进行下面的操作

#!/bin/bash

for b in {1..n}

do

cat “file_a” | grep `cat file$b` >>new_file

b=$(($b+1))

done

 

#将text文件分解为小文件,每一行为一个文件

#!/bin/bash

x=1

while read Line

do

echo “$Line” > file_a$x

x=$(($x+1))

done < text.txt

 

#!/usr/bin/bash

if [ -f $1 ]

then

if [ -z $2 ]

then

echo “Please specify the output file.”

else

echo “Please wait……”

cat $1 > .temp.fa

sed ‘s/ //g’ .temp.fa > .temp1.fa

sed ‘s/>BGI_novel_T[0-9]{6}gene=[0-9]{9}/###/g’ .temp1.fa > .temp2.fa

echo `cat .temp2.fa` > .temp3.fa

sed ‘s/###/\n###/g’ .temp3.fa > .temp4.fa

sed ‘s/>/\n>/g’ .temp4.fa > .temp5.fa

grep ^”>” .temp5.fa > .temp6.fa

sed ‘s/ /\n/g’ .temp6.fa > .temp7.fa

sed ‘s/gene/ gene/g’ .temp7.fa > .temp8.fa

sed ‘/^$/d’ .temp8.fa > $2

rm .temp*.fa

fi

else

echo “Please specify the input file.”

fi

exit 0

 

#以一个文件的内容替换另一个文件的内容,两个文件数量相等。替换与被替换的文件结尾的数字相同,分别取出两个文件的内容作为变量,将v2替换为v1。

#!/bin/bash

for x in {1…n}

do

v1=`cat file_a$x`

v2=`cat file_b$x`

sed -i “s|$v2|$v1|g” text.txt

x=$(($x+1))

done

 

#!/bin/bash

GROUP=groups.txt

SPECIES=alyr.fasta

#

sed -i ‘s/ /\n/g’ $GROUP

cat $GROUP | awk ‘{print “>”$1}’ | sed s/\>led/led/g > groups1.txt

cat groups1.txt | grep ‘^>’ > groups2.txt

#

a=1

while read Line

do

echo “$Line” > file$a

a=$(($a+1))

done < groups2.txt

#

echo `cat $SPECIES` > alyr2.fasta

sed ‘s/>/\n>/g’ alyr2.fasta > alyr3.fasta

#

#LENGTH=`cat groups2.txt | wc -l`

for a in {1..403484}

do

head= cat “alyr3.fasta” | grep `cat “file$a”`

a=$(($a+1))

done > h.fasta

#

a=1

while read Line

do

echo “$Line” > gile$a

a=$(($a+1))

done < h.fasta

#

cp groups1.txt Results.txt

#LENGTHH=`cat h.fasta | wc -l`

for a in {1..35660}

do

h1=`cut -c 1-20 gile$a`

h2=`cat gile$a`

sed -i s/$h1/$h2/g Results.txt

a=$(($a+1))

done

#

sed -i ‘s/\.1/\.1\n/g’ Results.txt

sed -i ‘s/\.2/\.2\n/g’ Results.txt

sed -i ‘/^$/d’ Results.txt

rm file11* file12* file13* file14*

rm file1*

rm file21* file22* file23* file24*

rm file2*

rm file31* file32* file33* file34*

rm file3*

rm file*

rm gile*

echo “Done!”

 

#!/bin/bash

echo “请稍等,正在处理……”

mkdir folder

file=`ls | grep -v add.sh | grep -v folder`

mv $file folder

cd folder

for var in `ls`; do for i in {1..10}; do cut -d ‘ ‘ -f$i $var > $var.$i; done; done

mkdir dot hebing

mv *.* dot

cd dot

for i in {1..10}; do paste -d ‘ ‘ *.$i > ../hebing/$i; i=$((i+1)); done

cd ../hebing

mkdir jia

cut -d ‘ ‘ -f1 ../hebing/1 > jia/s1

cat 2 | awk -F ” ” ‘{for (i=1; i<=NF; i++) sum += $i; print sum; sum=0}’ > jia/s2

for j in {3..10}; do cat $j | awk -F ” ” ‘{for (i=1; i<=NF; i++) sum += $i; print sum; sum=0}’ > jia/c$j; done

cd jia

paste -d ‘ ‘ c3 c4 c5 > 345; paste -d ‘ ‘ c6 c7 c8 c9 c10 > 678910

cat 345 | awk -F ” ” ‘{for (i=1; i<=NF; i++) sum += $i; print sum; sum=0}’ > s3

cat 678910 | awk -F ” ” ‘{for (i=1; i<=NF; i++) sum += $i; print sum; sum=0}’ > s4

for i in {2,3,4}; do cat s$i | awk ‘{printf (“%.7f\n”,$1)}’ > s$i$i; i=$((i+1)); done

# cat s2 | awk ‘{printf (“%.7f\n”,$1)}’ > s22

# cat s3 | awk ‘{printf (“%.7f\n”,$1)}’ > s33

# cat s4 | awk ‘{printf (“%.7f\n”,$1)}’ > s44

paste -d “\t” s1 s22 s33 s44 > result.text

mv result.text ../../../

cd ../..

for var in `ls`; do if [ -f $var ]; then mv $var ..; fi; done

# cd ..; rm -r folder

echo “完毕!”

 

#!/bin/bash

if [ -z $1 ]

then

echo “请在脚本后空一格,然后输入一个文件的名字,这个文件的第一列将作为结果的第一列。 ”

else

echo “请稍等,正在处理……”

mkdir data.data

a=`ls | grep -v shell.sh | grep -v data.data`

mv $a data.data

cat data.data/* > all.text

mv data.data/* .

rm -r data.data

sed -i “s/ /\t/g” all.text

cat $1 | cut -d ” ” -f1 > s1

cat all.text | awk -F “\t” ‘{sum+=$2} END {print sum}’ > s2

for i in {3..10}

do

cat all.text | awk -F “\t” ‘{sum+=$i} END {print sum}’ > c$i

done

paste -d “\t” c3 c4 c5 c6 c7 c8 c9 c10 > result1.text

cat result1.text | awk -F “\t” ‘{s3=$1+$2+$3} {print s3}’ > s3

cat result1.text | awk -F “\t” ‘{s4=$4+$5+$6+$7+$8} {print s4}’ > s4

paste -d “\t” s1 s2 s3 s4 > result.text

rm all.text result1.text c3 c4 c5 c6 c7 c8 c9 c10 s1 s2 s3 s4

echo “完毕! ”

fi

Leave a Reply

Your email address will not be published. Required fields are marked *