【发布时间】:2016-04-12 11:26:15
【问题描述】:
我目前正在为一个班级项目编写一个自动评分脚本。它必须能够搜索任意数量的给定目录让我们说 例如
usr/autograder/jdoe/
jdoe 包含两个文件 house.c 和 readme.txt。
我需要在 jdoe 中创建一个名为 jdoe.pdf 的文件
目前我正在使用下面的这行代码来获取我需要创建文件的路径。其中 $1 是用户输入的路径,其中包含自动评分器将评分的项目。
find $1 -name "*.txt" -exec sh -c "dirname {}"
当我尝试将 /somename.pdf 添加到此语句的末尾时,我得到 readme.txt/somename.pdf
与另一个 -exec 一起获取文件的名称。
\; -exec sh -c "dirname {} xargs -n 1 basename" \;
我在将这两者合并为一个工作语句时遇到了问题。 我是 unix 编程的新手,如果这意味着使用不同的 unix 工具重新编写代码,我将不胜感激任何建议或帮助。
这里的主要问题是如何在我调用脚本的目录以外的路径中创建文件。提前致谢。
【问题讨论】:
-
您是否只是想使用
find命令生成所有somename.pdf文件的路径?或者你想在这里做更多的事情? -
@Etan Reisner 我正在尝试使用 find 来查找路径并在每个路径中创建一个名为 somename.pdf 的文件。对不起,如果我不清楚。