Bash-从子目录移动文件

克里斯·W91

我对bash脚本还比较陌生。

我需要创建一个脚本,该脚本将遍历一系列目录,使用特定名称进入子目录,然后将其文件内容移动到所有文件的公用文件夹中。

到目前为止,我的代码是这样的:

#!/bin/bash

#used to gather usable pdb files
mkdir -p usable_pdbFiles
#loop through directories in "pdb" folder
for pdbDirectory in */
do
    #go into usable_* directory
    for innerDirectory in usable_*/
    do
        if [ -d "$innerDirectory" ] ; then
            for file in *.ent
            do

            mv $file ../../usable_pdbFiles

            done < $file
        fi
    done < $innerDirectory
done
exit 0

目前我得到

    usable_Gather.sh: line 7: $innerDirectory: ambiguous redirect

当我尝试运行脚本时。

任何帮助,将不胜感激!

姆霍克

重定向< $innerDirectory< $file是无效的,这引起了问题。您无需为此使用循环,而可以依赖于Shell的文件名扩展并mv直接使用

mkdir -p usable_pdbFiles
mv */usable_*/*.ent usable_pdbFiles

请记住,此解决方案以及您正在使用的基于循环的解决方案,将覆盖目标目录中具有相同名称的文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Bash / Shell将所有文件从子目录移动到目标目录?

Bash脚本从子目录中移动最新的特定文件类型

如何在子目录内使用 bash/for 循环移动文件?

将 bash 脚本变量传递给 .yml 文件以用作子目录和子目录

如何将所有子目录移动到bash中的父文件夹中?

Bash - 检查子目录是否包含文件夹

Bash脚本遍历子目录并写入文件

Bash - 循环子目录也包括文件

如何遍历子目录和子目录中的文件,然后在 bash 中打印文件名

运行bash脚本以将.csv附加到子目录中的文件中,该子目录从计算机中移动/删除了所有文件

从子目录导入文件?

从子目录读取文件

使用bash terminal命令打开目录和子目录中的所有文件?

如何仅在给定目录中查找文件,并使用bash忽略子目录

Bash:遍历目录和子目录(包括隐藏文件)的正确方法是什么?

bash - 遍历子目录、cat 文件并使用目录名重命名

将所有文件从子目录移动到父目录

bash从特定文件扩展名在文件夹中创建子目录

Bash脚本删除最旧的文件,但保留最新的文件,包括子目录

LINUX bash文件:通过其中的文件计数重命名子目录

如何使用bash根据文件名将文件放入子目录?

如何在bash中gzip所有子目录中的所有文件

如何删除Bash中的所有文件和子目录(包括边缘情况)

根据匹配变量将文件Bash复制到子目录

Bash:遍历所有子目录并在某些文件上执行命令

如何在bash中读取所有子目录并创建相应的文件?

对所有子目录中的文件子集中的字符串进行bash递归操作

Bash脚本删除带有子目录的x天之前的文件

使用 bash for 循环从位于子目录中的单独文件运行 Python doctest