小编use*_*303的帖子

Perl - 从输入字符串中获取第一个"单词"

我正在尝试编写一个从文本文件中读取行的Perl程序,并且,对于每一行,从行中提取第一个"单词",并根据返回的字符串执行不同的操作.

主循环看起来像这样:

while(<AXM60FILE>) {

   $inputline = $_;

   ($start) = ($inputline =~ /\A(.*?) /);

perform something, based on the value of string in $start

}
Run Code Online (Sandbox Code Playgroud)

输入文件实际上是一个参数文件,其中parameter_name和parameter_value用冒号(":")分隔.在冒号之前或之后可以有空格或制表符.

因此,该文件看起来(例如)如下所示:

param1:xxxxxxxxxxxx
param2:xxxxxxxxxxxxx
param3:xxxxxxxxxxxxxxxxx
param4:xxxxxxxxxxxxx

那个"($ start)=($ inputline =〜/\A(.*?)/);" 适用于"param2"示例和"param3"示例,其中第一个单词由空格/空格终止,但我如何处理"param1"和"param4"情况,其中parameter_name紧跟冒号?

另外,如果"空白"是制表符还是制表符,而不是空格/空格字符呢?

谢谢,吉姆

regex string perl

11
推荐指数
2
解决办法
2万
查看次数

Tower:导致“[警告]:在组名称中发现无效字符但未替换,使用 -vvvv 查看详细信息”的原因

我刚刚开始使用 Ansible Tower 并创建了一个项目,然后在该项目下创建了一个作业模板,该模板使用了一个小型初始测试手册 (Test.yml):

---
- hosts: east01.xxxxx.com
  become: yes
  become_method: sudo

  tasks:
  - name: test
    shell: echo 'line one line two line three' >> /tmp/abcdef.txt
Run Code Online (Sandbox Code Playgroud)

而且,当我尝试通过单击 Tower 中的“rocketship”来运行该剧本时,它看起来正在工作:

Identity added: /tmp/awx_35003_yehjodc1/artifacts/35003/ssh_key_data (/tmp/awx_35003_yehjodc1    /artifacts/35003/ssh_key_data)
[WARNING]: Invalid characters were found in group names but not replaced, use
-vvvv to see details
PLAY [east01.xxxxx.com] **********************************************
TASK [Gathering Facts] *********************************************************
ok: [east01.xxxxx.com]
TASK [test] ********************************************************************
changed: [east01.xxxxx.com]
PLAY RECAP *********************************************************************
east01.xxxxx.com : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 
Run Code Online (Sandbox Code Playgroud)

看起来这确实有效(当我运行剧本时,我可以看到目标机器上的文件被修改),但是有人可以告诉我是什么导致了警告:

[WARNING]: Invalid …
Run Code Online (Sandbox Code Playgroud)

ansible ansible-tower ansible-2.x

8
推荐指数
2
解决办法
3万
查看次数

WSO2 身份服务器“非法访问尝试”(但仅限于来自不同主机)

我在两台不同的计算机上有两个 WSO2 实例,并且向这两个实例发布了相同的策略。两个 WSO2 实例都有 admin/admin。

我使用 SOAPUI(在 192.168.0.9 上运行)尝试针对 EntitlementService Web 服务进行测试,并且:

  • 如果我使用 SOAPUI 在运行 SOAPUI 的同一台计算机 (192.168.0.9) 上使用 localhost 或 IP 地址来测试 EntitlementService Web 服务,我会收到带有 Permit 的 XACML 响应。然而,

  • 如果我使用 SOAPUI 对另一台计算机 (192.168.0.210) 上的 EntitlementService Web 服务进行测试,我会收到带有 Deny 的 XACML 响应,并在 192.168.0.210 WSO2 日志中收到“非法访问尝试”错误:

在尝试验证对服务 EntitlementService 的访问时,从 IP 地址 192.168.0.9 进行非法访问尝试 [2014-05-12 15:26:47,0563]

在上述两种情况下,我都进行了 BASIC 身份验证,并且在 SOAPUI 中设置了“admin”用户名和密码。

如果我在 192.168.0.210 WSO2 管理员上运行 Tryit 以针对 192.168.0.210 WSO2 进行测试,我会得到一个许可证,即,这表明 192.168.0.210 上的策略应该返回一个许可证。

最后,我非常确定这是 WSO2 的问题,而不是 SOAPUI 的问题,因为我还使用 Firefox 和名为 RESTclient 的插件在 …

wso2

5
推荐指数
0
解决办法
995
查看次数

只需要返回源字段,没有任何元数据-如何使用插件?

我们要求我们仅返回搜索结果中的源字段,而不包含任何元数据。通过搜索,我发现使用弹性搜索是不可能的,但是我确实找到了在该线程中使用插件的参考:

过滤掉元数据字段并仅在Elasticsearch中返回源字段

链接的插件就是这个:

https://github.com/imotov/elasticsearch-just-source/blob/master/src/main/java/org/elasticsearch/examples/justsource/rest/action/RestJustSourceAction.java

我仍在学习Elasticsearch,但是有人可以解释我如何在Elasticsearch配置中实现和部署该插件吗?

谢谢,吉姆

elasticsearch

5
推荐指数
1
解决办法
780
查看次数

脚本标记中的"src"何时引用本地文件系统上的资源(与非本地文件系统相比)?

如果我有一个带有脚本标记的HTML页面,请执行以下操作:

<SCRIPT SRC="./xxx.js"></SCRIPT>
Run Code Online (Sandbox Code Playgroud)

在什么条件下./xxx.js从本地文件系统获取/访问?

我知道./xxx.jsURI/URL引用了" 'xxx.js'当前目录中指定的文件",但是(在什么条件下)"当前目录"是指运行客户端/浏览器的本地文件系统上的当前目录?

唯一的情况是,当<script>从本地文件系统检索包含该标记的HTML文件时会出现这种情况吗?

html javascript src

4
推荐指数
1
解决办法
2388
查看次数

Groovy和变量类型的问题

我正在尝试获取一段Groovy代码(使用SOAPUI),但是遇到了问题。

这段代码假定要执行的操作是在属性文件中读取的,然后在SOAPUI中设置一些属性。我将其放在SOAPUI测试用例的Groovy脚本测试步骤中,每次运行时,我都希望它从不同的文件名读取,因此在测试用例中我有两个附加属性,即cur_request_number和max_request_number。

假定此代码每次都递增cur_request_number,并检查其是否达到max_request_number,如果是,则将cur_request_number设置回1。这是可行的,但前提是max_request_number为9或以下。如果等于或大于10,则达到9或10时,cur_request_number ++似乎会将其递增为字符串值,例如,分号。

换句话说,假设(在每个周期)阅读:

testprop1.txt
testprop2.txt
.
.
Run Code Online (Sandbox Code Playgroud)

我在下面发布的代码实际上还没有读取textpropX.txt文件,但是只是打印了它将读取的文件名,因为我仍在调试中。

我对Groovy真的很陌生,所以有点受限制。我曾尝试添加toInteger(),但后来遇到了其他问题。

def cur_request_number = testRunner.testCase.getPropertyValue("cur_request_number");
def max_request_number = testRunner.testCase.getPropertyValue("max_request_number");
log.info "INITIAL cur_request_number=[" + cur_request_number + "]"
log.info "INITIAL max_request_number=[" + max_request_number + "]"

cur_request_number++;

log.info "BUMPED cur_request_number=[" + cur_request_number + "]"

if (cur_request_number == max_request_number) {
    log.info "In the IF about to reset cur_request_number to 1";
    cur_request_number = "1";
}

// set the cur_request_number property (either the incremented one, or "1")
testRunner.testCase.setPropertyValue("cur_request_number", cur_request_number);

cur_request_filename = "E:/SOAPUI-PROPS/testprops" + cur_request_number.toString() +".txt";
log.info …
Run Code Online (Sandbox Code Playgroud)

groovy soapui

1
推荐指数
1
解决办法
6347
查看次数

(Apache)正则表达式匹配特定的cookie名称+值(剥离/删除它)?

我正在尝试使用"RequestHeader edit"指令来获取"Cookie"标头,并从该标头中删除特定的cookie.

换句话说,假设传入的"Cookie"标题是:

Cookie: header1=123; myheader=abc; header2=789
Run Code Online (Sandbox Code Playgroud)

我想使用"RequestHeader edit"将"Cookie"标题修改为:

Cookie: header1=123; header2=789
Run Code Online (Sandbox Code Playgroud)

或者,作为另一个例子,如果传入的"Cookie"标题是:

Cookie: header1=123; header2=789; myheader=abc
Run Code Online (Sandbox Code Playgroud)

改为:

Cookie: header1=123; header2=789
Run Code Online (Sandbox Code Playgroud)

我对正则表达式很恐怖,但我能够得到的最接近的是:

RequestHeader编辑 Cookie "myheader=.*(;)|myheader=.*($)" ""

但是,即使这有一个问题,如果"myheader"cookie是"Cookie"字符串/值中的最后一个,我最后会以分号(";")结尾.

任何人都可以提供完全正确地执行此操作的正则表达式吗?

谢谢,吉姆

PS我也想知道:带有尾随分号的Cookie是否有效?

regex apache cookies request-headers mod-headers

1
推荐指数
1
解决办法
5666
查看次数