我负责几个Excel文件和SQL模式文件.我该如何对这些文件执行更好的文档版本控制?
我需要知道这些文件中修改过的部分(不同部分)并保留所有版本以供参考.目前我在文件名上附加时间戳,但我发现它似乎效率低下.
有没有办法或好的做法来做更好的文档版本控制?
顺便说一句,编辑通过电子邮件发送给我文件.
我熟悉Unix shell脚本,但是对Windows脚本新手很熟悉.
我有一个包含str1,str2,str3 ... str10的字符串列表.我想这样做:
for string in string_list
do
var = string+"xyz"
svn co var
end
Run Code Online (Sandbox Code Playgroud)
我找到了一些描述如何在批处理文件中连接字符串的线程.但它在某种程度上不适用于循环.所以我仍然对批处理语法感到困惑.
我的代码如下:
main() {
int array[5] = {3,6,9,-8,1};
printf("the size of the array is %d\n", sizeof(array));
printf("the address of array is %p\n", array);
printf("the address of array is %p\n", &array);
int * x = array;
printf("the address of x is %p\n", x);
printf("the size of x is %d\n", sizeof(x));
}
Run Code Online (Sandbox Code Playgroud)
输出是
the size of the array is 20
the address of array is 0x7fff02309560
the address of array is 0x7fff02309560
the address of x is 0x7fff02309560
the size of x is …Run Code Online (Sandbox Code Playgroud) 有一个我不明白的命令:
custom_command << EOF!!
Run Code Online (Sandbox Code Playgroud)
我想问一下EOF !! 在bash脚本中.我确实找到了谷歌的EOF,但谷歌将忽略"!!" 自动,所以我找不到EOF !!
我知道文件令牌的结束,但我不知道"!!"的意思 在脚本中.这是一个标记强迫某事做像vim的wq!?
另外,我们为什么以及何时应该使用EOF !! 而不是EOF?
我有下面的phantomJS代码来获取HTML代码:
var page = require('webpage').create();
var url = 'http://example.com/';
page.open(url, function (status) {
var js = page.evaluate(function () {
return document;
});
console.log(js.all[0].outerHTML);
phantom.exit();
});
Run Code Online (Sandbox Code Playgroud)
我要获取的内容只能在鼠标悬停在JavaScript所控制的特定元素上时读取,因此上面的代码不起作用。
我想知道如何使用phantomJS代码在HTML元素上模拟鼠标悬停。假设我想将鼠标悬停在某个元素上,然后将HTML转储以输出,该怎么办?
编辑:以下代码无效。可能是什么问题呢?
var page = require('webpage').create();
var url = 'http://example.com/';
page.open(url, function (status) {
page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function(){
$('#some_element').trigger('hover');
});
var js = page.evaluate(function () {
return document;
});
console.log(js.all[0].outerHTML);
phantom.exit();
});
Run Code Online (Sandbox Code Playgroud) 现在我使用Linux来执行以下任务:
while read parameter
do
./program_a $parameter $parameter.log 2>&1 &
done < parameter_file
Run Code Online (Sandbox Code Playgroud)
每个参数指的是要处理的文件的名称.每个文件包含要处理的不同行数.
例如:
参数文件包含:
File_A
File_B
File_C
Run Code Online (Sandbox Code Playgroud)
File_A包含1k行,File_B包含10k行,File_C包含1000k行,这意味着在上面的脚本中program_a分别同时处理1000行,10k行和1000k行.每个任务的处理时间几乎线性地取决于行数,每个任务是独立的.
我有6核CPU和12个线程.因为处理时间可能不同,所以在运行File_A和File_B的任务之后,只有一个核心将处理File_C的任务.这是在浪费资源.
我想将每个文件拆分为1k行并同时运行它们.但是对于这个例子,将运行1011个任务(每个任务1k).我认为这将导致严重的上下文切换问题.也许我可以调整每行中的数字来解决这个问题,但我不认为这是一个很好的解决方案.
我的想法是限制运行的任务将始终是6个任务,这意味着始终使用最大数量的核心来运行并将上下文切换减少到尽可能少.但我不知道如何修改我的脚本来实现这个目标.有人可以给我一些建议吗?
我知道我可以在以下目录中连接文件:
copy /b *.txt all.txt
Run Code Online (Sandbox Code Playgroud)
但我还有一个问题.我应该如何在每个文件之间添加新行?我发现这是copy/b命令的问题.想想这种情况:
content of a.txt: --ALTER TABLE table1 ...;
content of b.txt: CREATE TABLE table2 ...;
content of c.txt: DROP TABLE table3 ...;
Run Code Online (Sandbox Code Playgroud)
我希望连接的结果是
--ALTER TABLE table1 ...;
CREATE TABLE table2 ...;
DROP TABLE table3 ...;
Run Code Online (Sandbox Code Playgroud)
代替
--ALTER TABLE table1 ...;CREATE TABLE table2 ...;DROP TABLE table3 ...;
Run Code Online (Sandbox Code Playgroud)
,其中的内容可以被视为评论.
我想知道在UNIX/Linux中同时执行一系列命令的好习惯.假设我有一个程序program_a,它需要一个参数.我已经在文件中逐行存储了参数.所以我写道:
while read line
do
./program_a line > $line.log 2>&1
done < parameter_file
Run Code Online (Sandbox Code Playgroud)
问题是program_a的执行需要很长时间.因为每个参数的program_a的每次执行都是独立的,所以我认为这些执行可以同时运行.我不知道它是否涉及多线程或其他技术.以下是我的想法.使用&在后台运行每个执行.
while read line
do
./program_a line $line.log 2>&1 &
done < parameter_file
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来启动多个任务?
我正在使用sqlite数据库.我的表架构是
CREATE TABLE performance(area TEXT, name TEXT, score INTEGER, dt TEXT)
Run Code Online (Sandbox Code Playgroud)
表中的内容如下:
uk|josh|4|2013-11-04 20:00
ca|josh|2|2013-11-05 20:00
us|josh|6|2013-11-05 20:00
uk|andy|5|2013-11-04 20:00
us|andy|1|2013-11-05 20:00
uk|sara|9|2013-11-05 20:00
ca|sara|7|2013-11-06 20:00
ca|sara|2|2013-11-06 20:00
Run Code Online (Sandbox Code Playgroud)
我使用以下sql语句来选择名称及其对应的得分分组和名称和dt.
select name, sum(score), dt from performance group by name, dt;
Run Code Online (Sandbox Code Playgroud)
我有
josh|4|2013-11-04 20:00
josh|8|2013-11-05 20:00
andy|5|2013-11-04 20:00
andy|1|2013-11-05 20:00
sara|9|2013-11-05 20:00
sara|9|2013-11-06 20:00
Run Code Online (Sandbox Code Playgroud)
现在我想扩展我的查询,以便sql语句可以搜索其得分总和在不同时间(dt)没有变化的那个.在这种情况下,输出应该是:
sara|9|2013-11-05 20:00
sara|9|2013-11-06 20:00
Run Code Online (Sandbox Code Playgroud)
如何撰写这样的sql?
我想要一个ajax请求用传递的参数调用user控制器的xyz动作,stage然后将其附加,#the_box以便我可以执行条件操作,如阶段x追加@user.age,阶段y追加@user.age+1和阶段z追加@user.age-1.我应该怎么做?
我有一个html.erb文件包含这样的代码:
<center>
<%= link_to "A", xyz_user_path, stage: "x", remote: true %>
<%= link_to "B", xyz_user_path, stage: "y", remote: true %>
<%= link_to "C", xyz_user_path, stage: "z", remote: true %>
</center>
<div id="the_box"></div>
Run Code Online (Sandbox Code Playgroud)
并且users_controller.rb有
before_action :set_user, only: [ :xyz]
def xyz
respond_to do |format|
format.js {}
end
end
private
def set_user
@user = User.find(params[:id])
end
Run Code Online (Sandbox Code Playgroud)
这xyz.js.erb就是我现在所拥有但不能处理参数所以它无法处理条件操作 …
我在访问共享文件夹时遇到问题.
我的主机操作系统是Windows 7企业版SP1,客户操作系统是Ubuntu Linux 10.04桌面版.我正在使用Virtual Box 4.2.10,我已经安装了VBox guest add-on和Oracle VM VirtualBox Extension Pack.
当我提出赞扬:mat @ mat-desktop:〜$ cd/media/sf_MAT/bash:cd:/ media/sf_MAT /:权限被拒绝
再次使用sudo:sudo cd/media/sf_MAT/sudo:cd:command not found
可能是什么解决方案?
我在设置setOnItemClickListener时遇到问题.以下是我的代码.我已经测试了setAdapter的工作情况,并且在UI上显示了列表和项目.在设置setOnItemClickListener时,它不起作用.
cool_simpleAdapter = new SimpleAdapter(this, items,
R.layout.mylistitem, new String[] { "title", "link" }, new int[] {
R.id.textView_title, R.id.textView_link });
cool_listView.setAdapter(cool_simpleAdapter);
Log.d("tag_1", "before setOnItemClickListener");
cool_listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Log.d("tag_setonItemClick", "in onItemClick");
Uri uri = Uri.parse("http://www.google.com");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
});
Log.d("tag_2", "after setOnItemClickListener");
Run Code Online (Sandbox Code Playgroud)
我把日志跟踪发生了什么:
Log.d("tag_1","before setOnItemClickListener");
Run Code Online (Sandbox Code Playgroud)
和
Log.d("tag_2","after setOnItemClickListener");
Run Code Online (Sandbox Code Playgroud)
显示但是
Log.d("tag_setonItemClick","in onItemClick");
Run Code Online (Sandbox Code Playgroud)
没有显示.我无法点击该项目,也无法打开URL.我不知道该如何解决这个问题.
编辑:添加mylistitem.xml布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" > …Run Code Online (Sandbox Code Playgroud) android android-intent android-ui android-layout android-listview
linux ×4
bash ×3
shell ×3
unix ×3
batch-file ×2
javascript ×2
windows ×2
ajax ×1
android ×1
android-ui ×1
arrays ×1
browser ×1
c ×1
c++ ×1
cmd ×1
compare ×1
copy ×1
dom ×1
git ×1
html ×1
jquery ×1
ms-office ×1
phantomjs ×1
pointers ×1
row ×1
ruby ×1
select ×1
sql ×1
sqlite ×1
vbox ×1
versioning ×1
virtualbox ×1