【问题标题】:working with sed on linux to format a string在 linux 上使用 sed 格式化字符串
【发布时间】:2016-01-20 15:01:37
【问题描述】:

嘿伙计们 :) 我有一个包含大量数据(访问日志)的文件,我有一个小问题。我想将所有访问日志保存在数据库中。我能够过滤几乎所有需要的重要数据......除了一个,这是我的问题......所以想象一下:

$domain = system(" awk '{print $1}' /var/www/laravel/xxxxxx/xxxxx/xxxxxxx.log");

$1 是域 - 而 $2-6 是我需要的其他数据.. 但现在我的问题是 $7 是一个重要的字符串,我可以根据需要过滤它.. 所以我的第一个日志从 $7 到 $11 -但是第二条日志(来自这个重要的字符串)从 $7 到 $13 - 现在我无法以正确的方式过滤它们:/

唯一可能有帮助的想法可能是这个重要的数据是围绕一些'()'

现在我需要一个命令,从第一个(直到最后一个)删除每个字符串 - 但是这个重要的字符串在一些日志上看起来像这样:

(11111 22222)(33333 444444)

所以我想要从 111111 之前的 ' ( ' 到 4444444 之后的 ' ) ' 的全部内容

有谁知道如何使用 sed、grep 或其他东西来做到这一点?

【问题讨论】:

    标签: php laravel terminal command


    【解决方案1】:

    您可能想使用cut

    ryan@~:$ cat test
    some text ( 11111 22222 ) ( 33333 444444) some other text
    ryan@~:$ cut -d'(' -f2-3 test | cut -d')' -f1-2
     11111 22222 ) ( 33333 444444
    

    【讨论】:

      猜你喜欢
      • 2016-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-07
      • 2014-04-18
      • 2021-12-06
      • 2020-09-04
      • 1970-01-01
      相关资源
      最近更新 更多