【问题标题】:string manipulation with awk/sed and cut together使用 awk/sed 进行字符串操作并一起剪切
【发布时间】:2013-07-23 14:34:31
【问题描述】:

我正在尝试操作以下字符串:

/var/www/vhosts/www.xxx.nl/HTML/wp-includes/version.php:$wp_version = '3.5';    
/var/www/vhosts/www.yyy.nl/HTML/wp-includes/version.php:$wp_version = '2.9';
/var/www/vhosts/www.zzz.nl/HTML/wp-includes/version.php:$wp_version = '3.2.1';

产生输出:

www.xxx.nl 3.5
www.yyy.nl 2.9
www.zzz.nl 3.2.1

使用 cut 我可以显示第 1 列:

cut -d '/' -f5

使用 awk 和 sed 我可以显示第 2 列:

awk '{print $3}' | sed -e 's/^.//' -e 's/..$//'

但是如何组合这些命令以显示预期的输出?

【问题讨论】:

    标签: bash sed awk cut


    【解决方案1】:

    这样就可以了:

    $ awk -F"[/']" '{print $5, $9}' file
    www.xxx.nl 3.5
    www.yyy.nl 2.9
    www.zzz.nl 3.2.1
    

    我们对-F"[/']" 所做的是定义两个可能的字段分隔符:/'。然后是检查所需字段的位置,恰好是第 5 个和第 9 个。

    【讨论】:

    • 就是这样!感谢您定义多个字段分隔符的解释。
    猜你喜欢
    • 2017-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多