我有一个目录,里面有一堆人物图像。不幸的是,图像所来自的系统对于一堆人物图像有其自己的唯一ID,这些图像未在企业的任何其他系统中使用(即客人有一张照片,但实际上并不在员工/客户数据库中...... .就在图片服务器的存储中)。幸运的是,8 个或更多整数后跟扩展名的图片是不需要的(我见过 .bmp 和 .jpg...但可能还有其他)。在将 ls -lh 替换为 rm -f 并编写删除其他系统照片的脚本之前,我已尝试使用以下 find 命令作为测试。我猜我误解了正则表达式,因为通常都是这种情况,但在我看来,以下内容似乎适合我正在寻找的内容。\d{8,} 似乎不起作用,因为删除它会发现一切都很好,但我不想要一切......只是那些带有 8 个或更多整数的整数,后跟任何内容。我在这里忽略了什么?
find /path/to/dir -regex '\/path\/to\/dir\/\d{8,}.*' -exec ls -lh {} \;
Run Code Online (Sandbox Code Playgroud)
谢谢。
我对mercurial很新,我在这个主题上已经阅读了很多,但我一直无法找到明确的答案.
mercurial指南说:"为了提高效率,只要源和目标位于同一文件系统上,就会使用硬链接进行克隆(请注意,这仅适用于存储库数据,而不适用于工作目录)."
该库wiki页面说:"所有的文件和与存储库中的根目录.hg共存目录被认为生活在工作目录".
现在,要在主回购中"链接"subrepo我做:
hg init main
cd main
echo subrepo = ../subrepo > .hgsub
hg clone ../subrepo subrepo # (1)
hg add
hg ci -m "initial rev of the main repo"
Run Code Online (Sandbox Code Playgroud)
难道上述定义意味着我真正创建一个副本的subrepo时候进行(1)?? 或者我只创建一个符号链接../subrepo?根据输出ls,它是一个实际的副本.但这对我来说听起来很奇怪......如果有人能对这个问题有所了解,我会很感激.
var f = function(o){ return this+":"+o+"::"+(typeof this)+":"+(typeof o) };
f.call( "2", "2" );
// "2:2::object:string"
var f = function(o){ return this+":"+(typeof this)+":"+(typeof o); };
var x = [1,/foo/,"bar",function(){},true,[],{}];
for (var i=0;i<x.length;++i) console.log(f.call(x[i],x[i]));
// "1:object:number"
// "/foo/:object:object"
// "bar:object:string"
// "function () {\n}:function:function"
// "true:object:boolean"
// ":object:object"
// "[object Object]:object:object"
Run Code Online (Sandbox Code Playgroud)
我在Chrome,Firefox和Safari中看到相同的结果,所以我认为它符合规范,但是......为什么?这个规范中的定义是什么?为什么不用于功能呢?
我需要结合两个相对的Uris,例如../mypath/和myimage.png创造../mypath/myimage.png.它们不是磁盘上文件的路径,因此Path.Combine不合适(它们是网页资源的相对路径).new Uri抛出一个ArgumentOutOfRangeException因为基础uri是相对的(不是绝对的).
除了检查尾部斜线然后自己组合路径之外,我还有其他选择吗?
编辑:
这是一个测试用例,它演示了当第一个url尚未包含尾部斜杠时Path.Combine不适用于这种情况:
// The first case fails with result "../testpath\resource.png"
[TestCase("../testpath", "resource.png", "../testpath/resource.png")]
[TestCase("../testpath/", "resource.png", "../testpath/resource.png")]
public void TestPathCombine(string path, string resourceName, string expectedResult) {
string result = Path.Combine(path, resourceName);
Assert.AreEqual(expectedResult, result);
}
Run Code Online (Sandbox Code Playgroud) 我有一个动态数量的项目,我需要将其分成列.比方说我得到了这个:
array("one", "two", "three", "four", "five", "six", "seven", "eight")
Run Code Online (Sandbox Code Playgroud)
我需要生成这个:
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
<li>four</li>
</ul>
<ul>
<li>five</li>
<li>six</li>
<li>seven</li>
<li>eight</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
以下是一些规则:
<ul>到目前为止我所拥有的:
function divide( $by, $array ) {
14 $total = count( $array );
15 $return = array();
16 $index=0;
17 $remainder = $total % $by !== 0;
18 $perRow = $remainder ?
19 $total / $by + 1:
20 $total / $by
21 ;
22
23 for ( $j = 0; $j<$by; …Run Code Online (Sandbox Code Playgroud) 寻求关于如何在我的产品开发中使用SVN的建议.
目前我正在使用我的产品的2.2版,并开始使用带有eclipse的SVN来跟踪我的代码.但是,我将开始在该产品的第3版上工作,该版本与2.2基本相同,只有一些大修和一些新功能.
问题是虽然2.2仍然会进行错误修复和一些小功能/调整,可能还有2-3个版本才能成为文具,并且没有更多工作在它上面 - 希望及时发布版本3.所以目前如果我的行李箱是2.2,并且此时有稳定的标签,我该从哪里开始?请记住,我希望3在行李箱中从这个标签分支,但是如果我做了一个小的改动或错误修复,2.2和3有类似的类我希望它在版本3中重新实现而不是必须实现错误修复两次,在v2.2(主干)和v3分支.
值得注意的是,我的v3分支可能在其上有分支,用于"实验"功能,这些功能可能无法进入该特定产品的第一个稳定版本.
对于这种情况的最佳实践的任何想法将不胜感激.
我正在评估在高流量网站上使用JSF的可能性.我被告知在JSF 2.0中,组件树不存储在会话中,并且只有在修改组件树时才存储增量.
这是我正在查看的页面:
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<body>
<h:form>
hello, world
</h:form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
每次查看此页面时,都会为会话分配近1K.如果我删除<form>标记,则会话中不会存储任何内容.
知道组件树存储在会话中的原因吗?我认为这将在回发请求上计算.
在我的应用程序中,我使用的是Scroller组件.我似乎无法弄清楚应该设置一个监听器的事件,以便知道何时滚动内容.我尝试Event.CHANGE了Scroller.verticalScrollBar属性,但显然当用户使用鼠标滚轮或箭头键滚动时,事件不会触发.
我有一个运行ant的批处理文件,然后复制其中一个生成的文件:
ant -Dproject.version=1.1.2 release published
copy /Y D:\dir1\MyJar.jar D:\dir2\MyJar.jar
Run Code Online (Sandbox Code Playgroud)
当我运行批处理文件时,ant运行成功,但是复制语句永远不会发生,虽然如果我输入它并且在ant任务完成后按Enter键它会正常工作.
这里发生了什么?
我正在编写一个程序来计算旋转实体的体积.第一步是计算积分.我正在使用scipy.integrate这个,但我无法弄清楚有一个方程的最佳方法(比如x=x**2在命令行输入.我原本打算在以下方面添加一个参数:x | y'然后取出函数作为lambda.不幸的是,argparse不会将lambda作为参数类型,并且尝试使用字符串来构造lambda(f = lambda x: args.equation)只返回一个字符串(实际上可以理解).
这是我到目前为止所得到的:
import sys
import argparse
import math
from scipy import integrate
parser = argparse.ArgumentParser(description='Find the volume of the solid of rotation defined')
parser.add_argument('equation', help='continous function')
parser.add_argument('a', type=float, help='bound \'a\'')
parser.add_argument('b', type=float, help='bound \'b\'')
parser.add_argument('-axis', metavar='x|y', help='axis of revolution')
args = parser.parse_args()
def volume(func, a, b, axis=None):
integral = integrate.quad(func, a, b)
return scipy.py * integral
print volume(args.equation, args.a, args.b)
Run Code Online (Sandbox Code Playgroud)
任何建议将不胜感激
.net ×1
ant ×1
apache-flex ×1
argparse ×1
bash ×1
batch-file ×1
c# ×1
call ×1
copy ×1
ecma262 ×1
find ×1
flex4 ×1
input ×1
javascript ×1
jsf ×1
jsf-2 ×1
lambda ×1
mercurial ×1
pagination ×1
php ×1
python ×1
regex ×1
repository ×1
scipy ×1
scroll ×1
state-saving ×1
subrepos ×1
svn ×1
uri ×1