Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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
如何防止bash脚本中的文件覆盖?_Bash_Terminal - Fatal编程技术网

如何防止bash脚本中的文件覆盖?

如何防止bash脚本中的文件覆盖?,bash,terminal,Bash,Terminal,我正在尝试自动化一个进程,该进程采用文件类型NIFTI,对其进行预处理,并将新处理的文件放入输出文件夹 deepbrain-extractor -i <input-dir> -o <output-dir> 问题是每次代码运行时,它都会覆盖旧文件(因为所有文件都自动获得相同的名称)。有没有办法防止这种情况发生?获取唯一文件名的常用方法是使用当前日期和时间。 您可以将其与输入文件名结合使用,以确保输出文件永远不会被覆盖 if[!-f“$FILE”];然后 echo“$文件不

我正在尝试自动化一个进程,该进程采用文件类型NIFTI,对其进行预处理,并将新处理的文件放入输出文件夹

deepbrain-extractor -i <input-dir> -o <output-dir>

问题是每次代码运行时,它都会覆盖旧文件(因为所有文件都自动获得相同的名称)。有没有办法防止这种情况发生?

获取唯一文件名的常用方法是使用当前日期和时间。 您可以将其与输入文件名结合使用,以确保输出文件永远不会被覆盖

if[!-f“$FILE”];然后
echo“$文件不存在。”
对于路径/*.nii中的文件
做
deepbrain提取器-i$file-o路径/newfiles_${file##*/}$(日期+%Y-%m-%d_%H-%m-%S)
完成
fi
因此,输出目录的名称类似于
newfiles\u input\u 2020-11-13\u 12-34-56


另请参见

获取唯一文件名的常用方法是使用当前日期和时间。 您可以将其与输入文件名结合使用,以确保输出文件永远不会被覆盖

if[!-f“$FILE”];然后
echo“$文件不存在。”
对于路径/*.nii中的文件
做
deepbrain提取器-i$file-o路径/newfiles_${file##*/}$(日期+%Y-%m-%d_%H-%m-%S)
完成
fi
因此,输出目录的名称类似于
newfiles\u input\u 2020-11-13\u 12-34-56


另请参见

谢谢您的建议和评论! 似乎使用这个代码给了我想要的

deepbrain-extractor -i "$file" -o "${file%.nii}.out" 

非常感谢

谢谢你的建议和评论! 似乎使用这个代码给了我想要的

deepbrain-extractor -i "$file" -o "${file%.nii}.out" 

非常感谢

在这种情况下,shell没有控制权,因为它是定义路径/newfiles发生什么的
deepbrain extractor
。将文件复制到备份目录中,运行deepbrain extractor,然后将其移回(更改名称后,可能-old.nii是否希望每个输入文件的
path/newfiles
不同?您希望发生什么行为,而不是实际得到的行为?如果您希望基于输入名称创建输出文件名,那么它可能类似于
deepbrain提取器-i“$file”-o“${file%.nii}.out“
(这个问题将是我们知识库中已有问题的副本)。就是这样一个副本。在这种情况下,shell没有控制权,因为定义
路径/newfiles
的是
deepbrain extractor
。将文件复制到备份目录中,运行deepbrain extractor,然后将其移回(更改名称后,可能-old.nii是否希望每个输入文件的
path/newfiles
不同?您希望发生什么行为,而不是实际得到的行为?如果您希望基于输入名称创建输出文件名,那么它可能类似于
deepbrain提取器-i“$file”-o“${file%.nii}.out“
(此问题将与我们知识库中已有的问题重复)。是这样的重复问题之一。重复问题应关闭,而不是回答。请参阅的“回答问题”部分。重复问题应关闭,而不是回答。请参阅的“回答问题”部分。