![在外部硬盘上的文件上运行 Ubuntu 终端命令时出现问题](https://linux22.com/image/1588305/%E5%9C%A8%E5%A4%96%E9%83%A8%E7%A1%AC%E7%9B%98%E4%B8%8A%E7%9A%84%E6%96%87%E4%BB%B6%E4%B8%8A%E8%BF%90%E8%A1%8C%20Ubuntu%20%E7%BB%88%E7%AB%AF%E5%91%BD%E4%BB%A4%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
我在 Ubuntu 终端中循环命令处理外部硬盘上的文件时遇到了困难。当我将文件子集移动到主磁盘并相应地调整路径时,它工作正常。此外,更简单的命令(即 ls)在外部硬盘上也能正常工作。这是我的命令:
for i in /media/ij/EXT/RNA\ seq\ data\ 2018\ Genewiz/DJ1807193/DJ1807193/*.fastq.gz;
do java -jar ~/RNAseq/trimmomatic-0.36.jar SE
-phred33 $i /media/ij/EXT/trimmed/${i##*/} ILLUMINACLIP:TruSeq3-SE.fa:2:30:10; done
(为方便阅读添加了返回)
如果有帮助的话,外部驱动器将以 ntfs 格式格式化 - 从我读过的内容来看,这应该没有什么区别。感谢您提供的任何帮助/建议,并让我知道还有哪些信息可能对您有所帮助。
答案1
您应该养成引用文件名的习惯(这里尤其必要,因为您的外部目录名有大量空格):
for i in /media/ij/EXT/RNA\ seq\ data\ 2018\ Genewiz/DJ1807193/DJ1807193/*.fastq.gz;
do
#this# # and that, too"
java -jar ~/RNAseq/trimmomatic-0.36.jar SE -phred33 "$i" "/media/ij/EXT/trimmed/${i##*/}" ILLUMINACLIP:TruSeq3-SE.fa:2:30:10;
done