所以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的情况下完成这一任务,我很确定这是可以做到的。)我不一定要做,但我想知道怎么做)。
也许可以用管道找到呢?(有些参数会先打印目录,然后逐个复制目录,然后再复制文件?)我在这件衣服上浪费了很多时间,如果没有正确的衣服就放弃它,那将是一种耻辱。
发布于 2022-01-06 09:27:42
您可以在使用install创建主要目标目录时复制文件。
install -D src/file dest/src/filehttps://stackoverflow.com/questions/70603716
复制相似问题