如何使用sed更改日志文件的输出

时间:2013-11-12 10:49:14

标签: linux logging sed output

我有以下日志文​​件的输出

/var/www/user/data/www/domain.com/wp-config.php
/var/www/anotheruser/data/www/otherdomain.com/wp-config.php

我想获得这样的输出:

domain.com
otherdomain.com

我只想知道如何移除/wp-config.php,但我不知道如何移除domain.com之前的所有内容。

问题在于它们都是不同的

4 个答案:

答案 0 :(得分:2)

试试这个:

awk -F'/' 'NF{print $(NF-1)}' log

答案 1 :(得分:1)

这可能适合你(GNU sed):

sed -r 's|.*/([^/]*)/.*|\1|' file

答案 2 :(得分:0)

sed --posix "s#^.*/\([^/]\{1,\}\)/[^/]*$#\1#"

如果域名后面有更多信息(子文件夹),则模式需要从头开始工作,而不是像这样工作(在/ /之间取第6个模式)。

答案 3 :(得分:0)

非常短awk

awk -F/ '$0=$(NF-1)' file
domain.com
otherdomain.com