【问题标题】:Unix: How to do mkdir, cp, without mkdir?Unix:mkdir、cp、没有mkdir怎么办?
【发布时间】:2022-01-06 07:21:34
【问题描述】:

所以 script2 是:

find /some_directory -type f -not -iname "*.pdf" -exec bash -c './script "{}"' \; -print > temp_file
while read line
do
   mkdir -p result"$(dirname "$line")"
   cp "$line" ~/result"$(dirname "$line")"/$(basename "$line" .txt).pdf
done < temp_file
rm temp_file

./脚本是file "$1"|grep -q PDF

这两个组合应该找到实际上是 PDF 文件的 .txt 文件,然后将它们复制到某个结果目录并将它们重命名为 .pdf 文件。但文件应位于:result/their/original/directories/file.pdf。 (如果原来是some_directory/their/original/directories/file.txt,也有一些目录有空间,所以".."很多)

完成了,可以了,但问题是:没有mkdir怎么办?

我尝试了很多东西,但似乎都没有用,而且我读到的每一篇文章都说它可以通过使用 mkdir 来完成(但是因为我的教授要求它在没有 mkdir 的情况下完成,我很确定它可以完成。我不必这样做,但我想知道如何完成)。

也许可以通过管道查找? (一些参数会先打印目录,然后将它们一个一个复制,然后再复制文件?)我在这方面浪费了很多时间,如果没有正确的答案就退出它会很可惜。

【问题讨论】:

  • 在 cp 命令中使用 -a 标志。
  • @kometen 你的意思是把 -a 添加到 cp 中?如果是这样,它就行不通,而且人对此只字未提,所以我不确定它应该做什么或如何使用它。

标签: linux unix


【解决方案1】:

您可以在使用install 创建前导目标目录时复制文件:

install -D src/file dest/src/file

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-24
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多