【发布时间】:2015-12-19 00:39:26
【问题描述】:
如何设置命令行程序来运行文件夹中的所有输入文件?
假设我的输入文件的名称如下所示,并且在_ 和.txt 之间的部分有所不同:
IsomiR_377G.txt,
IsomiR_377R.txt,
IsomiR_379G.txt,
....
我的任何程序都被命名为bowtie,并且有两个选项input 和output
bowtie -i IsomiR_377G.txt -o IsomiR_377G.sam
正在考虑类似的事情:
for f in IsomiR_*.txt
do
bowtie -i "$f" -o "Output${f#IsomiR}"
done
我的 awk 函数也有类似的问题:
for f in IsomiR_*.txt
do
awk '{printf ">%s_%s\n %s\n",$1,$2,$1;}' "$f" > "Header${f#IsomiR}"
done
-bash: syntax error near unexpected token `>'
【问题讨论】:
-
在写你的问题时请小心。您使用了多种开关(
-q/-s与-i/-o)并显示了与您列出的文件不同的命令示例。列表中第一个文件的确切命令是什么?看来您在 bash 的字符串操作方面处于正确的位置;你到底卡在哪里了? -
已更新。它看起来正确吗?也许只是打字错误..
-
好的,您已经更改了开关以使其匹配。文件名呢?你如何从
IsomiR_377G.txt到input1.txt? -
您在 awk 代码中遇到的问题似乎完全不相关 - 我建议您删除它并专注于使您的原始问题更清晰。