【发布时间】:2011-06-08 16:49:39
【问题描述】:
我是 shell 脚本的新手,所以这可能是一个愚蠢的问题。虽然我还没有在网上找到答案。我正在使用一个同事脚本并对其进行更改,以便它适用于我的数据。现在我正在运行一个只使用我的三个数据文件的测试。代码在脚本中的某个位置执行 for 循环,并且应该为每个不同的文件执行一次循环(3 次)。
listtumor=`cat /Users/TReiersen/Work-Folder/OV/DataProcessing/TestRun/MatchedTumorTest.txt`
for i in $listtumor
do
lst=`ls /Users/TReiersen/Work-Folder/OV/DataProcessing/TestRun/freshstart/${i}*.txt | awk -F'/' '{print $9}'`
MatchedTumorTest.txt 仅包含我用于测试的三个不同文件名,没有 '.txt' 据我所知,这段代码应该只运行脚本三次,每个文件一次。相反,我收到了这个错误:
ls: /Users/TReiersen/Work-Folder/OV/DataProcessing/TestRun/freshstart/TCGA-04-1514-01A-01D-0500-02_S01_CGH_105_Dec08\rTCGA-04-1530-01A-02D-0500-02_S01_CGH_105_Dec08\rTCGA-04-1542-01A-01D-0500-02_S01_CGH_105_Dec08*.txt: No such file or directory
由于某种原因,所有文件名都堆叠在一起,而不是循环单独访问每个文件名。任何想法为什么会发生这种情况?
谢谢, T.J.
【问题讨论】: