我正在研究一个lil'shell脚本,以为我的实习创建维恩图。 第一步是从\ t表文本文件中提取基因列表,然后使用python脚本构建图。
但是在终端中执行此脚本时,输出文件list_geneX.txt出现了严重问题。似乎在txt扩展名旁边添加了一些其他字符和未知字符,例如“list_gene1.txt”“list_gene2.txt”,而我的python脚本找不到所需的文件。
我不知道如何解决此问题,这很奇怪,因为这些文件在使用文本编辑器打开时包含预期的内容。
Thx
PS:很抱歉英语/程序设计不佳,我是一个年轻的生物信息学学生,但实践却很完美:)
这是代码
不要用作脚本:
#!/bin/bash
#
#launch ./make_Venn.sh DEonly_DESeqRes_MS.CD8naiv_MS.CD4naiv.tsv DEonly_DESeqRes_HV.CD8naiv_HV.CD4naiv.tsv
#
file1=$1
file2=$2
name1=${file1:16}
name2=${file2:16}
cat $file1 | awk -F '\t' '{print $1}' | sed '1d' > list_gene1.txt
cat $file2 | awk -F '\t' '{print $1}' | sed '1d' > list_gene2.txt
./venn.py $name1 list_gene1.txt $name2 list_gene2.txt
在终端中复制/粘贴时可以工作:
#!/bin/bash
file1="DEonly_DESeqRes_MS.CD8naiv_MS.CD4naiv.tsv"
file2="DEonly_DESeqRes_HV.CD8naiv_HV.CD4naiv.tsv"
name1=${file1:16}
name2=${file2:16}
cat DEonly_DESeqRes_MS.CD8naiv_MS.CD4naiv.tsv | sed '1d' | awk -F '\t' '{print $1}'> list_gene1.txt
cat DEonly_DESeqRes_HV.CD8naiv_HV.CD4naiv.tsv | sed '1d' | awk -F '\t' '{print $1}'> list_gene2.txt
./venn.py $name1 list_gene1.txt $name2 list_gene2.txt
答案 0 :(得分:0)
将代码更改为此:
name1=${file1:0:16} #this will give you the first 16 characters
name1=${file1:16} #your code was giving you character index 17 to end