我需要到grep用一串名字,说的线clientLogin=a@yahoo.com,clientLogin=b@gmail.com从file.txt的.
file.txt有垃圾email=a@yahoo.com email=b@gmail.com.我需要过滤掉这些
一旦我得到这些行,我需要grep gmail和yahoo并获得他们的计数
List l = new ArrayList{a@yahoo.com, b@gmail.com}
def gmail = ['sh','-c','grep "clientLogin="$l.get(0) file.txt' | grep gmail | wc -l ]
def yahoo = ['sh','-c','grep "clientLogin="$l.get(1) file.txt' | grep yahoo| wc -l ]
Run Code Online (Sandbox Code Playgroud)
这不起作用.如何动态替换$ l.get(1)值?
问题是$ {l.get(0)}必须在""内,即:
def gmail = ['sh','-c','grep "clientLogin=${l.get(0)}" file.txt' | grep gmail | wc -l ]
Run Code Online (Sandbox Code Playgroud)
所以它看起来像:
def gmail = ['sh','-c','grep "clientLogin=a@yahoo.com" file.txt' | grep gmail | wc -l ]
Run Code Online (Sandbox Code Playgroud)
但clientLogin=${l.get(0)}不会产生结果.我不确定我哪里出错了.
感谢您的建议,但它不会产生结果,至少在我尝试时.
file.txt有很多垃圾和类似的模式:
Into the …Run Code Online (Sandbox Code Playgroud) 我使用控制台应用程序编写一些测试代码:
/// <summary>
/// Returns AD information for a specified userID.
/// </summary>
/// <param name="ntID"></param>
/// <returns></returns>
public ADUser GetUser(string ntID)
{
DirectorySearcher search = new DirectorySearcher();
search.Filter = String.Format("(cn={0})", ntID);
search.PropertiesToLoad.Add("mail");
search.PropertiesToLoad.Add("givenName");
search.PropertiesToLoad.Add("sn");
search.PropertiesToLoad.Add("displayName");
search.PropertiesToLoad.Add("userPrincipalName");
search.PropertiesToLoad.Add("cn");
SearchResult result = search.FindOne();
return new ADUser(result);
}
Run Code Online (Sandbox Code Playgroud)
这在控制台应用程序中运行良好.但是,当我将其移动到ASP.NET应用程序时,我收到一条错误消息,指出不知道正确的域.
在ASPNET帐户上运行时,是否存在访问AD的技巧?
编辑:只传递LDAP://域连接字符串是不够的,因为它需要一个实际的登录/密码.因为它运行在计算机上的本地帐户上,所以我不确定要使用哪个AD L/P. 我可以以某种方式将访问用户帐户委托给它吗?
编辑#2:当尝试使用身份模拟时,我得到一个DirectoryServicesCOMException:
让我详细描述一下这个问题:
我想在悬停在元素上时显示绝对定位的div.使用jQuery非常简单,工作得很好.但是当鼠标移过其中一个子元素时,它会触发包含div的mouseout事件.在悬停子元素时,如何防止javascript触发包含元素的mouseout事件.
使用jQuery做到这一点的最佳和最短的方法是什么?
这是一个简化的例子来说明我的意思:
HTML:
<a>Hover Me</a>
<div>
<input>Test</input>
<select>
<option>Option 1</option>
<option>Option 2</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript/jQuery的:
$('a').hover( function() { $(this).next().show() }
function() { $(this).next().hide() } );
Run Code Online (Sandbox Code Playgroud) 我需要一些XSLT语法的帮助.这是我的场景,我有一个XML文件,需要转换为XML文件的不同外观,我有几个部分,如果特定节点集不包含任何值,则不应处理整个部分.
以下是XML的示例:
<Dates>
<Date>
<VALUE1></VALUE1>
<VALUE2></VALUE2>
<VALUE3></VALUE3>
<VALUE4></VALUE4>
<VALUE5>3333</VALUE5>
</Date>
<Date>
<VALUE1>AAAA</VALUE1>
<VALUE2></VALUE2>
<VALUE3>JJJJ</VALUE3>
<VALUE4></VALUE4>
<VALUE5>12345</VALUE5>
</Date>
</Dates>
Run Code Online (Sandbox Code Playgroud)
这是我的XSLT,if语句不能正常工作
<xsl:for-each select="Level1/Level2/Level3">
<xsl:if test="@VALUE1!=''">
<MyDates>
<value_1>
<xsl:value-of select="VALUE1"/>
</value_1>
<value_2>
<xsl:value-of select="VALUE2"/>
</value_2>
<value_3>
<xsl:value-of select="VALUE3"/>
</value_3>
<value_4>
<xsl:value-of select="VALUE4"/>
</value_4>
</MyDates>
</xsl:if>
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)
所以你可以看到我基本上希望所有节点(VALUE1,VALUE2,VALUE3等)都有值,否则不处理并转到下一节
(如果你看不到XML的想法,我也做了一个屏幕截图)
下面的函数接受一个python文件句柄,从文件中读取打包的二进制数据,创建一个Python字典并返回它.如果我无休止地循环它,它将不断消耗RAM.我的RefCounting出了什么问题?
static PyObject* __binParse_getDBHeader(PyObject *self, PyObject *args){
PyObject *o; //generic object
PyObject* pyDB = NULL; //this has to be a py file object
if (!PyArg_ParseTuple(args, "O", &pyDB)){
return NULL;
} else {
Py_INCREF(pyDB);
if (!PyFile_Check(pyDB)){
Py_DECREF(pyDB);
PyErr_SetString(PyExc_IOError, "argument 1 must be open file handle");
return NULL;
}
}
FILE *fhDB = PyFile_AsFile(pyDB);
long offset = 0;
DB_HEADER *pdbHeader = malloc(sizeof(DB_HEADER));
fseek(fhDB,offset,SEEK_SET); //at the beginning
fread(pdbHeader, 1, sizeof(DB_HEADER), fhDB );
if (ferror(fhDB)){
fclose(fhDB);
Py_DECREF(pyDB);
PyErr_SetString(PyExc_IOError, "failed reading database header");
return NULL; …Run Code Online (Sandbox Code Playgroud) 将我的存储库视为SVN存储库,我得到:
svn co http://myrepo/foo/trunk foo
...
foo/
bar/
baz/ -> http://myrepo/baz/trunk
Run Code Online (Sandbox Code Playgroud)
把它作为Git回购处理,我得到:
git svn clone http://myrepo/foo --trunk=trunk --branches=branches --tags=tags
...
foo/
bar/
Run Code Online (Sandbox Code Playgroud)
我可以将baz克隆到其他地方的本地机器并添加一个符号链接,但这只是一个黑客攻击.有没有办法git svn rebase在更新其他所有内容时自动提取这些更改,就像这样svn up做?
我有一个asp.net ascx控制文件,我把控件放在一个aspx页面上.aspx页面有一个按钮,当我按下键盘上的Enter键时,我希望它触发按钮的事件处理程序.有没有办法设置这个?
我正在使用一个主页面上已经有一个按钮,所以现在当我按下回车键时,该按钮的事件处理程序将触发.
我有一段时间没有在Unix系统中使用过vim,但是我记得没有\ r \n,它始终是\n.
我在windows下使用gVim,当我搜索新行字符时,我使用\n.搜索\ r \n不返回任何内容.但当我替换我必须使用\ r的字符.\n给我^ @
谁能解释一下这里发生了什么?
我需要找到一种更快的方法,使用awk和sed等工具以特定方式对文件中的行进行编号.我需要每行的第一个字符以这种方式编号:1,2,3,1,2,3,1,2,3等.
例如,如果输入是这样的:
line 1
line 2
line 3
line 4
line 5
line 6
line 7
Run Code Online (Sandbox Code Playgroud)
输出需要如下所示:
1line 1
2line 2
3line 3
1line 4
2line 5
3line 6
1line 7
Run Code Online (Sandbox Code Playgroud)
这是我所拥有的一大块.$ lines是数据文件中的行数除以3.因此,对于21000行的文件,我处理此循环7000次.
export i=0
while [ $i -le $lines ]
do
export start=`expr $i \* 3 + 1`
export end=`expr $start + 2`
awk NR==$start,NR==$end $1 | awk '{printf("%d%s\n", NR,$0)}' >> data.out
export i=`expr $i + 1`
done
Run Code Online (Sandbox Code Playgroud)
基本上,它一次抓取3行,对它们进行编号,并添加到输出文件中.它很慢......然后是一些!我不知道另一种,更快,更好的方式......任何想法?
我想看一个文件的一系列差异.我只关注日志列表,仅限于那些修改文件的条目.