以下是一个简单的Bash命令行:
grep -li 'regex' "filename with spaces" "filename"
Run Code Online (Sandbox Code Playgroud)
没问题.以下工作也很好:
grep -li 'regex' $(<listOfFiles.txt)
Run Code Online (Sandbox Code Playgroud)
其中listOfFiles.txt包含要grepped的文件名列表,每行一个文件名.
listOfFiles.txt包含带有嵌入空格的文件名时会出现此问题.在我试过(见下文),所有的情况下,击分裂的空间,以便文件名,例如,在一行listOfFiles.txt
包含类似名称./this is a file.xml最终设法在每一片上运行的grep( ,,./this 和).isafile.xml
我以为我是一个相对先进的Bash用户,但我找不到一个简单的魔术咒语来让这个工作.这是我尝试过的东西.
grep -li 'regex' `cat listOfFiles.txt`
Run Code Online (Sandbox Code Playgroud)
如上所述失败(我真的没想到这会起作用),所以我想我会在每个文件名周围加上引号:
grep -li 'regex' `sed -e 's/.*/"&"/' listOfFiles.txt`
Run Code Online (Sandbox Code Playgroud)
Bash将引号解释为文件名的一部分,并为每个文件提供"No such file or directory"(并且仍然使用空格分割文件名)
for i in $(<listOfFiles.txt); do grep -li 'regex' "$i"; done
Run Code Online (Sandbox Code Playgroud)
这未按原始的尝试(也就是说,它的行为就好像引号被忽略),是非常缓慢的,因为它必须每个文件启动一个"grep"可以替代过程在处理一个调用的所有文件.
以下工作,但如果正则表达式包含shell元字符,则需要一些小心的双重转义:
eval grep -li 'regex' `sed -e 's/.*/"&"/' listOfFiles.txt`
Run Code Online (Sandbox Code Playgroud)
这是构造命令行的唯一方法,以便正确处理带空格的文件名吗?
我需要一个简单的正则表达式来验证xy格式的电话号码,其中x和y可以表示任意数量的数字,短划线是可选的,但是如果它确实显示它大部分都在字符串内(短划线必须有数字位于它的左边和右边)
我最初认为静态块是静态变量,但编译器允许A和B编译和运行,是什么给出的?
一个
private static final Map<String,String> m = new HashMap<String,String>();
{
m.put("why", "does");
m.put("this","work");
}
Run Code Online (Sandbox Code Playgroud)
乙
private static final Map<String,String> m = new HashMap<String,String>();
static{
m.put("why", "does");
m.put("this","work");
}
Run Code Online (Sandbox Code Playgroud)
运行System.out.println(Main.m.toString());了一个打印
{}
但在Yoda-speak中为B打印出同样的效果
{this = work,why = does}
我有一个jQuery脚本,可以选择所有带有'Phone'的ID.但是,我有一小部分,如果他们在课堂上,则不需要选择它们.
根据我理解的方式,我拥有的是:
$("[id*='Phone']:not('referencePhones')").doSomething();
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
.referencePhones是一个父类.即:
div class="referencePhones"
span id="Phone"
Run Code Online (Sandbox Code Playgroud) 我来自Java方面使用Hibernate而我还没有找到合适的位置来放置命名查询NHibernate.
使用Visual Studio 2008,C#2008
我有一个问题
<query name="SchwabAccountList">
from DB_Accounts a
where a.AdminOffCode = 'SWB'
</query>
Run Code Online (Sandbox Code Playgroud)
我想把它放在.hbm.xmlAccount表中(DB_Accounts)
我把它放在文件的末尾但在<class>标签内
<query name="AccountList">
from DB_Accounts a
where a.AdminOffCode = 'SWB'
</query>
</class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)
我正在使用的代码,我尝试了几种不同的方法,但得到了
Named query not known: AccountList
或者我尝试使用的任何其他名称(assembly.dir.dir.class.queryname)那种东西.
访问代码看起来像.
ISessionFactory factory = cfg.BuildSessionFactory();
ISession session = factory.OpenSession();
IList<DB_Accounts> accountList =
(IList<DB_Accounts>)(session.GetNamedQuery("AccountList").List());
foreach (BDM_Controller.Source.ORM.DB_Accounts acctRec in accountList)
{
...
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
所以我通常在Emacs中打开3个缓冲区.
如何禁用此第三个缓冲区,以便在按下时C-x o我只在缓冲区1和缓冲区2之间切换?目前,我在缓冲区1,缓冲区2,缓冲区3,缓冲区1等C-x o之间切换.具体来说,我只想在缓冲区1和2之间切换.
谢谢.
如果我编译带有CL.EXE C语言DLL源,我怎么设置文件属性,包括文件版本产品名称,产品版本,版权等等,这样我就可以在Windows浏览这些属性?

在用C#编写的.NET应用程序中,我可以使用汇编属性来完成此操作[assembly: AssemblyVersion("1.2.3.4")].我如何在C语言项目中执行此操作?
也许我不明白它是如何clone()运作的.返回值不应该等于调用者吗?
int[] nums = new int[] {0, 1, 2};
int[] list = nums.clone();
nums.equals(list); //returns false. Why?
for (int ket = 0; ket < list.length; ket++) {
System.out.println(list[ket] == nums[ket]); //prints out true every time
}
list == nums //false
Run Code Online (Sandbox Code Playgroud) 与简单地链接到服务器上的硬文件相比,使用base64/line显示图像要快多少?
url(data:image/png;base64,.......)
Run Code Online (Sandbox Code Playgroud)
我无法在此找到任何类型的性能指标.
我有一些顾虑:
让我们定义"更快",如下所示:用户查看完整呈现的HTML网页所需的时间
有人知道为什么这个页面http://emacsformacosx.com/中的相同代码在托管在本地tomcat服务器上时不会呈现?
我正在尝试使用一些SVG,但无法看到它在本地工作.有任何想法吗?