我正在使用powershell来"grep"我的特定字符串的源代码.如果字符串在文件中,我想要文件的名称,而不是包含字符串的代码行.
我也想要文件的名称,只是一次,没有列出文件存在的次数.
我目前正在使用:
gci . -include "*.sql" -recurse | select-string -pattern 'someInterestingString'
Run Code Online (Sandbox Code Playgroud)
现在我明白select-string的输出是某种ojbect,而我在控制台中看到的是,我猜,ToString()是那个对象的.我假设我可以format-table用来控制select-string的输出,我想sort只得到不同的值.
但这是很多猜测.
我的Web应用程序中有一个文本字段,我想在其中完成自动填充(例如,用户键入“ St”,我可以建议“ Steve”)。我要匹配的名称在用户的SQL数据库表中。我的问题是,如何使这种方式能够扩展到大量用户?
有数据库全文搜索或诸如Lucene之类的数据库。这样甚至适合于“开头为”查询吗?
有没有办法为“开头为”类型的搜索设置普通的数据库索引?
还有其他我完全想不到的想法吗?
任何帮助,将不胜感激。谢谢。
我有一个处理多部分表单帖子的servlet.帖子实际上是由嵌入页面的Flash文件上传组件制作的.在某些浏览器中,Flash生成的POST不包含JSESSIONID,这使得我无法在帖子期间从会话中加载某些信息.
Flash上传组件确实包含特殊表单字段中的cookie和会话信息.使用此表单字段,我实际上可以检索JSESSIONID值.问题是,我不知道如何使用此JSESSIONID值手动加载该特定会话.
编辑 -基于ChssPly76的解决方案,我创建了以下HttpSessionListener实现:
@Override
public void sessionCreated(final HttpSessionEvent se) {
final HttpSession session = se.getSession();
final ServletContext context = session.getServletContext();
context.setAttribute(session.getId(), session);
}
@Override
public void sessionDestroyed(final HttpSessionEvent se) {
final HttpSession session = se.getSession();
final ServletContext context = session.getServletContext();
context.removeAttribute(session.getId());
}
Run Code Online (Sandbox Code Playgroud)
这会将所有会话添加到ServletContext,作为由其唯一ID映射的属性.我可以在上下文中放置一个会话映射,但它似乎是多余的.请发表有关此决定的任何想法.接下来,我将以下方法添加到我的servlet以通过id解析会话:
private HttpSession getSession(final String sessionId) {
final ServletContext context = getServletContext();
final HttpSession session = (HttpSession) context.getAttribute(sessionId);
return session;
}
Run Code Online (Sandbox Code Playgroud) 我正在从一个系统迁移到另一个系统,在此过程中,我将同时运行两个系统.我需要能够在保持每个表的主键的同时从一个表单向同步到另一个表.
在这个例子中,我有两个表(A)和(B).我需要根据公共外键(下面的match1和match2)将表B中的value1和value2(下面)同步到表A. 表A将包含除表B之外的其他字段,并且B中的某些字段将不会同步.
我该怎么做:
这是一些演示数据:
DROP TABLE IF EXISTS `a`;
CREATE TABLE IF NOT EXISTS `a` (
`id1` int(10) unsigned NOT NULL,
`match1` int(10) unsigned NOT NULL,
`value1` varchar(255) NOT NULL,
PRIMARY KEY (`id1`)
);
INSERT INTO `a` (`id1`, `match1`, `value1`) VALUES
(1, 1, 'A'),
(2, 2, 'A'),
(3, 3, 'B'),
(4, 4, 'C'),
(5, 5, 'C');
DROP TABLE IF EXISTS `b`;
CREATE TABLE IF NOT EXISTS `b` (
`id2` int(10) unsigned NOT NULL,
`match2` int(10) unsigned …Run Code Online (Sandbox Code Playgroud) 我试图在SQL语句中使用LIKE子句来匹配Oracle中的某个模式.
我想这样做:
LIKE '[A-Z][A-Z][1-4]%'
Run Code Online (Sandbox Code Playgroud)
..但我不能使用正则表达式,因为这是在Oracle9i上(正则表达式支持10g).
我试图匹配之前有两个字符的东西,然后是1到4之间的数字以及除此之外的任何东西.我试过这个,但它似乎没有用.我能够让它工作的唯一方法是:
WHERE ...
LIKE '%1__' OR
LIKE '%2__' OR
LIKE '%3__' OR
LIKE '%4__'
Run Code Online (Sandbox Code Playgroud)
我不确定我想做的方式是否可行,或者是否正确,因为我从未尝试使用LIKE子句的模式.
您将给予的任何帮助将不胜感激.
我正在从单色位图中读取位.我short以相反的顺序将每16位存储在a 中.如果位图中的位为黑色,则存储1.如果为白色,则存储0.
例如:对于位图:bbbw bbbw bbbw wwww
我的简称是:0000 0111 0111 0111
我尝试这样做的第一种方式是:
short m;
// ...
Color c = bmp.GetPixel(j, i);
if (c.R == Color.Black)
m |= short.MinValue;
m >>= 1;
// ...
Run Code Online (Sandbox Code Playgroud)
经过一次任务和班次后,我得到了预期的-32768(1000 0000 0000 0000).
第二次我得到-16384(1100 0000 0000 0000).
我更改了我的代码使用ushort并将if行更改为s |= (ushort)Math.Pow(2, 15);现在它的工作原理.
我的问题是:为什么标志位不会在.NET中转移?有没有办法改变标志位?
我需要对包含如下数据的字符串进行排序:
var strings = new List<string>{"2009 Arrears","2008 Arrears","2008 Arrears Interest","2009 Arrears Interest"};
Run Code Online (Sandbox Code Playgroud)
他们希望结果如下:
看起来我需要创建一个函数来查看字符串是否以数字开头.如果是这样,该函数将获取所有数字直到第一个字符并对数字结果进行降序排序,然后对其余字符进行升序排序.我在编写一个获取字符串中所有起始数字的方法时遇到了麻烦.什么是有效的方法呢?
在perl中,我从一个目录中读取文件,我想同时打开它们(但是逐行),这样我就可以执行一个将所有第n行一起使用的函数(例如连接).
my $text = `ls | grep ".txt"`;
my @temps = split(/\n/,$text);
my @files;
for my $i (0..$#temps) {
my $file;
open($file,"<",$temps[$i]);
push(@files,$file);
}
my $concat;
for my $i (0..$#files) {
my @blah = <$files[$i]>;
$concat.=$blah;
}
print $concat;
Run Code Online (Sandbox Code Playgroud)
我只是一堆错误,使用未初始化的值和GLOB(..)错误.那我怎么能做这个呢?
我知道有关于utf-8的各种问题,主要是关于库来操纵utf-8'字符串'之类的对象.
但是,我正在开发一个'国际化'项目(一个网站,我编写一个c ++后端代码......不要问),即使我们处理utf-8,我们也不需要这样的库.大多数情况下,普通的std :: string方法或STL算法足以满足我们的需求,实际上这是首先使用utf-8的目标.
所以,我在这里寻找的是一个大概的"Quick&Dirty"技巧,你知道与存储为std :: string的utf-8相关(没有const char*,我不关心c风格的代码真的,我有更好的事情要做,而不是经常担心我的缓冲区大小).
例如,这里是一个"快速和肮脏的"伎俩获得的字符数(这是很有必要知道它是否适合你的显示框):
#include <string>
#include <algorithm>
// Let's remember than in utf-8 encoding, a character may be
// 1 byte: '0.......'
// 2 bytes: '110.....' '10......'
// 3 bytes: '1110....' '10......' '10......'
// 4 bytes: '11110...' '10......' '10......' '10......'
// Therefore '10......' is not the beginning of a character ;)
const unsigned char mask = 0xC0;
const unsigned char notUtf8Begin = 0x80;
struct Utf8Begin
{
bool operator(char c) …Run Code Online (Sandbox Code Playgroud) 我希望有一种简单的方法可以将事件发送到几个不涉及我编写自定义套接字侦听器的进程.我正在尝试通知几个需要更新已发生配置更改的缓存配置设置的应用程序.我想实现一个"主机范围"单例,但未能找到任何示例.这样的事情甚至可能吗?
c# ×3
sql ×3
.net ×2
autocomplete ×1
bit-shift ×1
c++ ×1
events ×1
file ×1
grep ×1
httpsession ×1
java ×1
java-ee ×1
mysql ×1
oracle ×1
oracle9i ×1
perl ×1
plsql ×1
powershell ×1
scalability ×1
search ×1
servlets ×1
session ×1
simultaneous ×1
string ×1
utf-8 ×1