gpt4 book ai didi

linux - 使用 bash 在 root 以外的目录中创建文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:45:02 26 4
gpt4 key购买 nike

我目前正在为一个类(class)项目编写自动评分脚本。它必须能够搜索任意数量的给定目录让我们说例如

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  "$1" -name "*.txt" -exec bash -c 'd=$(dirname "$1"); touch $d"/"$(basename "$d").pdf' - {} \;

关于linux - 使用 bash 在 root 以外的目录中创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36571902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com