Linux:批量替换文件内字符

i=0                                                      #使用i,j两个自增变量将基因起点和对应的基因名称存于a,b两个变量
while [ $i -lt 12 ]                #1.txt一共有11行
do
#	echo $i
#	echo $j
	((i++))
	a=`awk 'NR=='$i'{print $2}' ./1.txt`      #a是1.txt文件里面第i行第2列的唯一值
	b=`awk 'NR=='$i'{print $5}' ./1.txt`      #b是1.txt文件里面第i行第5列的唯一值
        c=`awk 'NR=='$i'{print $4}' ./1.txt`      #c是1.txt文件里面第i行第4列的唯一值
#	echo $a
#	echo $b
  sed -e "s/${a}/${b} ${c}/g" -i $2/snv_freq.tsv                       #将1.txt中的a批量替换为b,c,实际上有一列变两列的效果

  

posted @ 2022-09-08 16:15  YlnChen  阅读(220)  评论(0编辑  收藏  举报