我有大约30个500MB文件,每行一个字.我有一个脚本,用伪bash做到这一点:
for i in *; do
echo "" > everythingButI
for j in *-except-$i; do
cat $j >> everythingButI
sort everythingButI | uniq > tmp
mv tmp everythingButI
done
comm $i everythingButI -2 -3 > uniqueInI
percentUnique=$(wc -l uniqueInI) / $(wc -l $i) * 100
echo "$i is $percentUnique% Unique"
done
Run Code Online (Sandbox Code Playgroud)
它计算每个文件的"唯一性"(文件已经在每个文件中排序和唯一).
所以,如果我有文件:
file1 file2 file3
a b 1
c c c
d e e
f g
h
Run Code Online (Sandbox Code Playgroud)
file1将是75%唯一(因为其中1/4的行在另一个文件中找到),file2将是60%唯一,file3将是33.33%唯一.但是要把它变成30个文件,500MB一个弹出,需要一点点才能运行.
我想编写一个python脚本,它可以做得更快,更快,但我想知道实际上最快的算法是什么.(我在PC上也只有2GB的RAM.)
任何人都有关于算法的意见,或者知道更快的方法吗?
我想做这样的事情
Run Code Online (Sandbox Code Playgroud)raiserror(concat('Error in case @isFishy =', @isFishy, ' @isSmarmy=', @isSmarmy, ' @isTasty = ', @isTasty), 10, 1) --or raiserror('Error in case @isFishy =' + @isFishy + ' @isSmarmy=' + @isSmarmy + ' @isTasty = ' + @isTasty, 10, 1)
但它只是不起作用.我该如何做到这一点?我在SQL Server 2005中.
如果我有以下格式的数据
id subid text
1 1 Hello
1 2 World
1 3 !
2 1 B
2 2 B
2 3 Q
Run Code Online (Sandbox Code Playgroud)
并希望以这种格式:
id fold
1 HelloWorld!
2 BBQ
Run Code Online (Sandbox Code Playgroud)
我怎么能在T-SQL中完成它?
在一年前的这个帖子中,它解释了当WriteableBitmap的任何部分来自外部域时 - 例如免费的图像服务器,它将阻止读取访问.
它进一步阐述了这是针对"DRM"的.我想有人在Silverlight中写一个电影开膛手有一个很大的威胁,其中包括来自另一个域的电影,然后重新捕获它...除了实现你可以重写血腥的xap,因为它从线下来然后它是同一个领域!但这既不是在这里也不是在那里.
无论如何,显然我正在尝试使用WritableBitmap导出用户当前设置的屏幕截图; 但我已经被这个跨域问题所阻止了.
在最新版本的Silverlight中,确实没有支持的方法吗?没有crossdomain.xml或clientaccesspolicy.xml?对于Silverlight而言,这不是一个瘫痪 - 一个巨大的"螺丝你",这会阻碍开发人员的半心半意安全障碍,但不会阻止攻击者?
编辑:这个问题等同于这里这个问题.
我想用Java为iPhone创建一个基本的"Hello World"风格的应用程序 - 谁能告诉我怎么样?
如果有一个具有函数的基类DeriveMe virtual void DoSomething(int)和一个继承DeriveMe的类,它具有一个函数void DoSomething(SomeEnum)DerivedThat ...... DerivedThat是否会覆盖基类DoSomething,因为枚举在C++的编译期间计算为整数?
我可以尝试通过使DoSomething纯虚拟并编译/运行它来查看它是否有效但这是我的第一个stackoverflow问题所以我宁愿问它.
我的代码段错误,我不知道为什么.
1 #include <stdio.h>
2
3 void overwrite(char str[], char x) {
4 int i;
5 for (i = 0; str[i] != '\0'; i++)
6 str[i] = x;
7 }
8
9 int main(void) {
10 char *s = "abcde";
11 char x = 'X';
12 overwrite(s, x);
13 printf("%s\n", s);
14 return 0;
15 }
Run Code Online (Sandbox Code Playgroud)
gdb调试器告诉我,问题出在第6行,我想将一个char存储到c-string中(如果我使用左值指针解除引用,那就是同样的问题.)这就是他所说的:
(gdb) run
Starting program: /tmp/x/x
Breakpoint 1, overwrite (str=0x8048500 "abcde", x=88 'X') at x.c:5
5 for (i = 0; str[i] != '\0'; i++) …Run Code Online (Sandbox Code Playgroud) 如果我使用hg grep我得到一个文件名和修订号.如何将这些信息转换为我可以在其他命令中使用的变更集标识符?
我正在重构一些代码,其中一部分包括将它从VB.Net转移到C#.
旧代码声明了这样的成员:
Protected viewMode As New WebControl
Run Code Online (Sandbox Code Playgroud)
新的代码,我最终得到了工作,像这样:
protected WebControl _viewMode = new WebControl(HtmlTextWriterTag.Span);
Run Code Online (Sandbox Code Playgroud)
我可以假设New关键字意味着:调用构造函数!但VB.Net如何调用一个我无法用C#调用的构造函数(一个无参数的函数)?
这真是令人生气.我正在尝试优化一个非常大的站点,而我正在减少HTTP请求.微软没有合作.我包含以下ScriptResources.我会尝试抓住每个人的顶线来区分他们
来吧! 12血腥javascript包括!不到一个KILOBYTE!获得dang数据的时间有一半可能是花在寻求它上面!ARGHHH!
无论如何,正如你所看到的,我很生气.有什么方法可以推动它们并将它们结合起来吗?喜欢一个请求?
asp.net ×2
sql-server ×2
t-sql ×2
.net ×1
algorithm ×1
asp.net-ajax ×1
c ×1
c# ×1
c++ ×1
c-strings ×1
clr ×1
cross-domain ×1
cstring ×1
enums ×1
file ×1
inheritance ×1
iphone ×1
java ×1
kr-c ×1
mercurial ×1
raiseerror ×1
silverlight ×1
vb.net ×1