在Linux上使用sed来格式化字符串

时间:2015-10-21 14:38:54

标签: php laravel terminal command

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

$ domain = system(“awk'{print $ 1}'/ var / www / raravel / xxxxxxx / xxxxx / xxxxxxxx.log”);

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

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

现在我需要一个命令,从第一个(直到最后一个)切断每个字符串 - 但这个重要的字符串在这样的一些日志上查找:

(11111 22222)(33333 444444)

所以我希望在4444444之后的'('在111111之前直到')之前的全部内容

有人知道怎么用sed,grep或其他东西吗?

1 个答案:

答案 0 :(得分:0)

您可能想要使用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