我想从特定的行号中拆分一个400k行的长日志文件.
对于这个问题,让我们这个任意数字300k.
是否有一个linux命令允许我这样做(在脚本中)?
我知道split
让我按大小或行号分割文件,但这不是我想要的.我想要一个文件中的第一个300k和第二个文件中的最后一个100k.
任何帮助,将不胜感激.谢谢!
再想一想,这将更适合超级用户或serverfault站点.
我想找出目录中的哪些文件是dos文本文件(而不是unix文本文件).
我尝试过的:
find . -name "*.php" | xargs grep ^M -l
Run Code Online (Sandbox Code Playgroud)
它没有给我可靠的结果......所以我正在寻找一个更好的选择.
有什么建议,想法?
谢谢
澄清
除了我上面所说的,问题是我有一堆dos文件,其中没有^ M字符(因此我关于可靠性的说明).
我目前确定文件是否为dos的方式是通过Vim,其底部是:
"filename.php" [dos] [noeol]
Run Code Online (Sandbox Code Playgroud) 我可以使用以下代码在php中执行此操作:
$dt1 = '2011-11-11 11:11:11';
$t1 = strtotime($dt1);
$dt2 = date('Y-m-d H:00:00');
$t2 = strtotime($dt2);
$tDiff = $t2 - $t1;
$hDiff = round($tDiff/3600);
Run Code Online (Sandbox Code Playgroud)
$hDiff
会在几个小时内给我结果.
如何在bash shell中实现上述功能?
我想扩展,SoapClient
以便在访问WSDL时在内部执行此操作:
curl -L -E /location/of/cert.pem -c /tmp/location/of/cookie.jar https://web-service-provider/servicename?wsdl
Run Code Online (Sandbox Code Playgroud)
我有类似这样的SOAP请求:
$serviceUrl = 'https://service-url';
$wsdl = $serviceUrl . '?wsdl';
$proxyServiceUrl = 'http://localhost/myproxy.php?url=$serviceUrl';
$proxyWsdl = 'http://localhost/myproxy.php?url=$wsdl';
$options = array(
'cache_wsdl' => WSDL_CACHE_NONE,
'encoding' => 'utf-8',
'soap_version' => SOAP_1_1,
'exceptions' => true,
'trace' => true,
'location' => $proxyServiceUrl
);
$client = new SoapClient($proxyWsdl, $options);
$params = array( /* */ );
$client->someOperation($params);
Run Code Online (Sandbox Code Playgroud)
如您所见,除代理位外,一切都非常标准.
代理的原因
我编写代理来满足Web服务提供者的要求,即通过名为siteminder的身份验证系统处理包括WSDL在内的所有端点.
代理的功能非常简单,如果用linux命令行curl编写,它将是这样的:
curl -L -E /location/of/cert.pem -c /tmp/location/of/cookie.jar https://web-service-provider/servicename?wsdl
Run Code Online (Sandbox Code Playgroud)
确切地说:
* Follow all redirections
* specify location …
Run Code Online (Sandbox Code Playgroud) 使用 SoapClient,是否可以将元素名称(而不是类型)映射到 php 类?
在 PHP 手册中:
http://www.php.net/manual/en/soapclient.soapclient.php
类映射定义如下:
classmap 选项可用于将某些 WSDL 类型映射到 PHP 类。此选项必须是一个数组,其中 WSDL 类型作为键,PHP 类的名称作为值。
如果元素没有类型,是否可以映射它?
例如。
<xsd:element name="M1Response">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="N1Response" type="bons0:R1Out"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Run Code Online (Sandbox Code Playgroud)
IE。我想将元素映射M1Response
到 php 类
我可以映射N1Response
到 php 类,但响应如下所示:
stdClass Object
(
[N1Response] => MyPHPClassResponse Object
(
...
)
)
Run Code Online (Sandbox Code Playgroud)
这几乎违背了类映射功能的目的。
任何帮助,将不胜感激。
谢谢
linux ×3
shell ×3
php ×2
soap-client ×2
find ×1
ntlm ×1
siteminder ×1
soapserver ×1
split ×1
unix ×1
vim ×1
wsdl ×1
xml ×1