无法从 Apache 日志中获取文件名



我自己设置了一个自己的云。 需要记录用户的下载文件。 我制作了 bash 脚本,该脚本 grep Apache日志并将其发送到文件中。 文件中的行示例

/var/log/httpd/ssl_access_log-20200621-46.63.46.133 - - [18/Jun/2020:13:07:33 +0000] "GET /ocs/v2.php/apps/files_sharing/api/v1/shares?format=json&path=%2FHJC%2FMaster-Schedule%20Draft%20for%20SOP%20of%20HJC%20(10.10.2019).xlsx&shared_with_me=true HTTP/1.1" 200 108

我如何获得文件名"HJC SOP 主计划草案(10.10.2019(.xlsx"???

好的。最后,我通过使用"sed"找到了决定

sed 's@+@ @g;s@%@\x@g' <my-log-file> | xargs -0 printf "%b" > <result-file>

它解码了URL,所以所有需要做的 - 获取"路径"值

最新更新