使用shell进行id转换

找到样本之间的对应关系

第一列为测序编号,第二列为样本分组,第三列为样本名

先测试下:

##读取前三列的变量信息
cat tihuan|while read cx group name 
do
echo $group-$cx-$name
done
打印出信息

需要替换的文件:

文件列表

我们这里主要是想替换表头信息:

表头信息

写sed命令:

cat tihuan|while read cx group name 
do
echo "sed -i s'/$cx/$group-$name/'g"  >>se.sh
###不知道怎么把$id打印到后面,,,
echo '$id'
done
cat id |while read id 
do 
sed -i s'/CRR306300/XI-3-IRIS_313-8606/'g $id
sed -i s'/CRR306301/GJ-tmp-IRIS_313-11661/'g $id
sed -i s'/CRR306302/GJ-sbtrp-IRIS_313-10870/'g $id
sed -i s'/CRR306303/GJ-sbtrp-IRIS_313-11094/'g $id
sed -i s'/CRR306304/XI-3-IRIS_313-8948/'g $id
sed -i s'/CRR306305/cA(Aus)-IRIS_313-10871/'g $id
sed -i s'/CRR306306/XI-3-IRIS_313-10762/'g $id
sed -i s'/CRR306307/XI-2-IRIS_313-11671/'g $id
sed -i s'/CRR306308/XI-2-IRIS_313-11741/'g $id
sed -i s'/CRR306309/XI-1A-IRIS_313-10968/'g $id
sed -i s'/CRR306310/cA(Aus)-IRIS_313-11027/'g $id
sed -i s'/CRR306311/cB(Bas)-IRIS_313-12094/'g $id
sed -i s'/CRR306312/XI-3-IRIS_313-11728/'g $id
sed -i s'/CRR306313/GJ-trp-IRIS_313-11736/'g $id
sed -i s'/CRR306314/GJ-trp-IRIS_313-11044/'g $id
sed -i s'/CRR306315/XI-3-IRIS_313-11079/'g $id
sed -i s'/CRR306316/GJ-sbtrp-IRIS_313-11900/'g $id
sed -i s'/CRR306317/GJ-sbtrp-IRIS_313-11691/'g $id
sed -i s'/CRR306318/GJ-tmp-B167/'g $id
sed -i s'/CRR306319/XI-1A-B015/'g $id
sed -i s'/CRR306320/GJ-tmp-B046/'g $id
sed -i s'/CRR306321/XI-1A-B208/'g $id
sed -i s'/CRR306322/cA(Aus)-IRIS_313-10020/'g $id
sed -i s'/CRR306323/XI-2-IRIS_313-10010/'g $id
sed -i s'/CRR306324/GJ-tmp-IRIS_313-10097/'g $id
sed -i s'/CRR306325/XI-1B-IRIS_313-8930/'g $id
sed -i s'/CRR306326/GJ-trp-IRIS_313-9470/'g $id
sed -i s'/CRR306327/GJ-trp-CX106/'g $id
sed -i s'/CRR306328/XI-3-CX107/'g $id
sed -i s'/CRR306329/cB(Bas)-CX110/'g $id
sed -i s'/CRR306330/XI-1B-CX152/'g $id
sed -i s'/CRR306331/XI-3-CX154/'g $id
sed -i s'/CRR306332/XI-1A-CX270/'g $id
sed -i s'/CRR306333/GJ-tmp-CX317/'g $id
sed -i s'/CRR306334/cA(Aus)-IRIS_313-10605/'g $id
sed -i s'/CRR306335/XI-1B-IRIS_313-11930/'g $id
sed -i s'/CRR306336/XI-1B-IRIS_313-11784/'g $id
sed -i s'/CRR306337/GJ-trp-IRIS_313-11790/'g $id
sed -i s'/CRR306338/XI-2-IRIS_313-11453/'g $id
sed -i s'/CRR306339/cB(Bas)-IRIS_313-11289/'g $id
sed -i s'/CRR306340/XI-2-IRIS_313-11241/'g $id
sed -i s'/CRR306341/XI-3-IRIS_313-11151/'g $id
sed -i s'/CRR306342/XI-2-IRIS_313-10982/'g $id
sed -i s'/CRR306343/XI-2-IRIS_313-11242/'g $id
sed -i s'/CRR306344/cA(Aus)-IRIS_313-11595/'g $id
sed -i s'/CRR306345/XI-3-IRIS_313-11635/'g $id
sed -i s'/CRR306346/cA(Aus)-IRIS_313-11112/'g $id
sed -i s'/CRR306347/GJ-sbtrp-IRIS_313-12228/'g $id
sed -i s'/CRR306348/GJ-sbtrp-IRIS_313-12266/'g $id
sed -i s'/CRR306349/GJ-trp-B018/'g $id
sed -i s'/CRR306350/XI-1A-B061/'g $id
sed -i s'/CRR306351/XI-adm-B076/'g $id
sed -i s'/CRR306352/GJ-tmp-B250/'g $id
sed -i s'/CRR306353/XI-1B-IRIS_313-10397/'g $id
sed -i s'/CRR306354/XI-1B-IRIS_313-7808/'g $id
sed -i s'/CRR306355/XI-1B-IRIS_313-9032/'g $id
sed -i s'/CRR306356/XI-1A-CX10/'g $id
sed -i s'/CRR306357/cB(Bas)-CX67/'g $id
sed -i s'/CRR306358/XI-1B-CX82/'g $id
sed -i s'/CRR306359/XI-1B-CX97/'g $id
sed -i s'/CRR306360/XI-1A-CX102/'g $id
sed -i s'/CRR306361/cB(Bas)-CX149/'g $id
sed -i s'/CRR306362/XI-1B-CX150/'g $id
sed -i s'/CRR306363/cA(Aus)-CX227/'g $id
sed -i s'/CRR306364/XI-1B-CX357/'g $id
sed -i s'/CRR306365/GJ-tmp-CX389/'g $id
sed -i s'/CRR306366/cB(Bas)-IRIS_313-11627/'g $id
sed -i s'/CRR306367/O.rufipogon-O.rufipogon (collected from Hainan,China)/'g $id
sed -i s'/CRR306368/O.rufipogon-O.rufipogon (collected from Sri Lanka)/'g $id
sed -i s'/CRR306369/O.rufipogon-O.rufipogon (collected from Naypyidaw,Myanmar)/'g $id
sed -i s'/CRR306370/O.rufipogon-O.rufipogon (collected from Yangon,Myanmar)/'g $id
sed -i s'/CRR306371/O.rufipogon-O.rufipogon (collected from Fujian,China)/'g $id
sed -i s'/CRR306372/O.rufipogon-O.rufipogon (collected from Guangxi,China)/'g $id
sed -i s'/CRR306373/Xian-WSSM/'g $id
sed -i s'/CRR306374/Xian-QUAN9311/'g $id
sed -i s'/CRR366237/XI-1A-CX3/'g $id
sed -i s'/CRR366238/XI-adm-CX19/'g $id
sed -i s'/CRR366239/XI-adm-CX34/'g $id
sed -i s'/CRR366240/UN-SE133/'g $id
sed -i s'/CRR366168/Xian-Huanghuazhan/'g $id
sed -i s'/CRR366169/Xian-CDR22/'g $id
sed -i s'/CRR366170/Xian-PsBRC28/'g $id
sed -i s'/CRR366171/Xian-PsBRC66/'g $id
sed -i s'/CRR366172/Xian-IR64/'g $id
sed -i s'/CRR366173/Xian-Teqing/'g $id
sed -i s'/CRR366174/Xian-IR50/'g $id
sed -i s'/CRR366175/Xian-OM1723/'g $id
sed -i s'/CRR366176/Xian-Phalguna/'g $id
done
替换好的结果

行列转置:

# 获取当前文件夹中的所有CSV文件
files <- list.files(pattern = "*.csv")

# 循环处理每个文件
for (file in files) {
  # 读取CSV文件
  data <- read.csv(file, header = TRUE, stringsAsFactors = FALSE)
  
  # 将数据框进行行列转置
  transposed_data <- t(data)
  
  # 将转置后的数据框写入原始文件
  write.csv(transposed_data, file, row.names = FALSE)
  
  cat("已对文件", file, "进行行列转置。\n")
}

你可能感兴趣的:(使用shell进行id转换)