我正在尝试收集与我的apache配置文件的ServerName指令不匹配的别名列表。这是我用来生成输出的语法。 这是我之前的“管道”命令生成的输出。 我想要实现的输出看起来像这样。 任何对此的帮助将不胜感激。 答案 0 :(得分:2) 显而易见的解决方案是将输出通过管道传输到 这也是一种纠结,因为我不知道您的apachectl -S | cut -d" " -f12,13,18,19 | sed -e 's/namevhost //;/.conf/d;/^$/d;/^127/d;/is$/d' | uniq
logwatch-jgpihole.com
alias www.logwatch-jgpihole.com
jgpihole.com
alias jgpihole.local
alias piholeadmin.com
jgrantham.ddns.net
logwatch-jgpihole.com
jgpihole.com
alias jgpihole.local
alias piholeadmin.com
jgrantham.ddns.net
1 个答案:
grep -v 'alias www\.'
cut
和sed
和grep
的混乱局面通常表明您应该改用Awk。apachectl -S |
awk '{ a = $12 OFS $13 OFS $18 OFS $19
gsub(/namevhost /, "", a)
if (a !~ /\.conf|^$|^127|is$|alias www\./ && !b[a]++)
print a }'
apachectl
输出是什么样子;借助上下文,可能可以使很多事情变得非常容易理解和更新。