Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;至于;在shell中遍历目录的循环_Shell_For Loop_Subdirectory - Fatal编程技术网

&引用;至于;在shell中遍历目录的循环

&引用;至于;在shell中遍历目录的循环,shell,for-loop,subdirectory,Shell,For Loop,Subdirectory,我有一个由24个子目录组成的目录,没有时间顺序 我需要输入一个子目录,在那里解压一个文件,然后对解压后的文件调用“tophat”命令,然后移动到下一个子目录。循环应该使用这些命令遍历所有子目录。 我真的不知道如何创建这个循环(我需要它在显示器上运行,而不是按照数字顺序运行) (当然,使用RNA-seq结果的许多人都熟悉这个问题) 如果有人能帮我的话 我将非常感激使用查找: find /path -type d -print | \ while read path ; do ... don

我有一个由24个子目录组成的目录,没有时间顺序 我需要输入一个子目录,在那里解压一个文件,然后对解压后的文件调用“tophat”命令,然后移动到下一个子目录。循环应该使用这些命令遍历所有子目录。 我真的不知道如何创建这个循环(我需要它在显示器上运行,而不是按照数字顺序运行)

(当然,使用RNA-seq结果的许多人都熟悉这个问题) 如果有人能帮我的话 我将非常感激使用
查找

find /path -type d -print | \
while read path ; do
    ...
done
注意:当文件名包含新行字符时,此循环中断。

使用for循环时相同

for directory in `find /path -type d -print`
do
    cd "$directory"
    unzip zip_filename
    sh zip_dir/script_file.sh &
done

tophat是否可以用作
unzip-c文件| tophat
find
的输出上迭代,这样不安全;当文件名包含当前分词字符时,它将中断。
for d in "/path/to/"*/
do
    cd "$d" || continue
    unzip the_file.zip
    tophat the_file
done