我有一个看起来像这样的文本文件:

ErrorLog "|/usr/local/apache2/bin/rotatelogs /var/log/apache/error_log.%Y-%m 200M"

ErrorLog "/var/log/apache2/error_log"


我只需要过滤单词error_log的路径。
我需要的输出为:

/var/log/apache2/error_log.%Y-%m


要么

/var/log/apache2/error_log

最佳答案

grep可以

$ grep -o '\S*error_log\S*' file

/var/log/apache/error_log.%Y-%m
"/var/log/apache2/error_log"


如果您想将它们拉到同一行并摆脱引号管道,

... | tr -d '"' | xargs

关于linux - 如何使用sed,awk仅打印具有特定单词的路径?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47678879/

10-11 22:49
查看更多