我想将一些文件粘贴到一个名为“output.txt
”的唯一文件中。
不过我想将文件夹的名称分配给输出文件的名称,以便它是:“output_<name of the Folder>.txt
”。
我有成千上万的文件夹,所以“粘贴”命令将在我能写的for循环中运行。有人可以帮我吗?
答案 0 :(得分:1)
这个问题非常不清楚。我将解释它意味着你有大量的目录都包含一个名为'output.txt'的文件,并且你想将这些文件移动到一个目录,其中原始路径嵌入在名称中。假设包含所有文件的目录树的根目录为/path/to/source
,并且您希望将它们移动到/path/to/destination
:
find /path/to/source -name output.txt -exec sh -c 'd=$(dirname "$1" |
tr / _); cp "$1" "/path/to/destination/output_$d.txt"' sh {} \;
相对路径可以正常工作以及绝对路径。
答案 1 :(得分:0)
我也不清楚你想要什么,但mktemp(1)
有TEMPLATES可能会有所帮助。