随机例如:
/stack-exchange/
|
|-- stack-overflow/
| |-- questions/
| |-- people/
| |-- site.log
|-- super-user/
| |-- questions/
| |-- people/
| |-- answers.log
|-- ask-ubuntu/
| |-- questions/
| |-- people/
| |-- linux.log
|-- logs/
这是我用于find
给定目录中所有日志文件的命令:
find /stack-exchange/ -type f -name "*.log"
现在,通过示例,我想将所有3个日志文件(site.log,answers.log和amp; linux.log)复制到/stack-exchange/logs
目录,并将它们命名为其父目录,像这样:
/stack-exchange/
|
|-- [...]
|
|-- logs/
| |-- stack-overflow.log
| |-- super-user.log
| |-- ask-ubuntu.log
我该怎么做?我试过这个:
find /stack-exchange/ -type f -iname "*.log" -exec cp "{}" "../logs/$(basename "$(dirname "{}")").log" \;
我认为我很接近,但它不起作用。它所做的就是创建一个..log
文件。我做错了什么,我该如何解决?