我有一些配置文件。配置文件包含字符串:LocalPath /media/$USER
我在 bash-script 中读取了配置文件:
while read var value
do
export "$var"="$value"
done < my-conf-file.conf
Run Code Online (Sandbox Code Playgroud)
所以,我可以$LocalPath在 bash-script 中使用。它等于:/media/$USER,但我想要:/media/user1(user1 是我的用户)。
我该如何实施?
我有日志文件。我想从特定行中提取电子邮件列表。示例日志文件:
05:06:48,311 INFO http-nio-8080-exec-81 controller.IndexController:221 - Attempt to login: [xxx@yyy.com]. Headers: ["content-length": "52", ...]
15:06:48,311 INFO http-nio-8080-exec-81 controller.IndexController:221 - Attempt to login: [xxx@yyy.com]. Headers: ["content-length": "52", ...]
09:40:21,187 INFO http-nio-8080-exec-31 security.AuthAuthenticationProvider:81 - User: [16167]. Wrong code. Telegram: [0]. Google: [0]
Run Code Online (Sandbox Code Playgroud)
我的脚本:
cat file.log | sed -r 's/.*Attempt to login: \[(.*)\]\..*/\1/' | sort | uniq > file.log.filtered.txt
Run Code Online (Sandbox Code Playgroud)
我得到 file.log.filtered.txt:
09:40:21,187 INFO http-nio-8080-exec-31 security.AuthAuthenticationProvider:81 - User: [16167]. Wrong code. Telegram: [0]. Google: [0]
xxx@yyy.com
Run Code Online (Sandbox Code Playgroud)
为什么我在过滤后的文件中有一行“AuthAuthenticationProvider”?