Tag: 脚本

如何使用sqlite3.exe命令行工具自动执行进程?

我试图将大量数据(550万行)批量加载到SQLite数据库文件中。 通过INSERT加载似乎太慢了,所以我试图使用sqlite3命令行工具和.import命令。 如果我手工input命令,它是完美的工作,但我不能为我的生活找出如何从脚本(.bat文件或python脚本;我在Windows机器上)自动化它。 我在命令行发出的命令是: > sqlite3 database.db sqlite> CREATE TABLE log_entry ( <snip> ); sqlite> .separator "\t" sqlite> .import logfile.log log_entry 但是我没有尝试将这个工作从bat文件或python脚本。 我一直在尝试这样的事情: sqlite3 "database.db" .separator "\t" .import logfile.log log_entry echo '.separator "\t" .import logfile.log log_entry' | sqlite3 database.db 当然,我可以做到这一点?

Bash脚本缺less']'

我得到一个错误./test.sh:第13行:[:缺less`]'在test.sh文件中我尝试使用括号和其他选项,如-a或通过检查文件的大小,但错误是总是在那里,其他语句总是被执行,而不pipe给定的input。我甚至试图通过删除; 在13行,但没有帮助。 test.sh #!/bin/bash echo "Enter app name" read y $y & top -b -n 1 > topLog.log #-w checks for the whole word not and sub string from that word grep -w "$y" topLog.log > p1 #-s option checks if the file p1 is present or not if [ -s "p1"]; #line 13 then […]

在Windows脚本中从命名的环境variables中删除引号

我想在Windows环境variables中存储一个URL前缀。 查询string中的&符号使得这个麻烦。 例如:我有一个http://example.com?foo=1&bar=的URL前缀,并希望通过为bar参数提供一个值来创build一个完整的URL。 然后我想使用“开始”命令启动该URL。 围绕SET操作的值添加引号很容易: set myvar="http://example.com?foo=1&bar=" Windows包括实际值中的引号(谢谢Windows!): echo %myvar% "http://example.com?foo=1&bar=true" 我知道我可以通过使用波浪号从batch file参数中除去引号: echo %~1 但是,我似乎无法做到命名variables: echo %~myvar% %~myvar% 完成这个的语法是什么?

“set -x”是做什么的?

我有一个shell脚本,其中包含以下行: [ "$DEBUG" == 'true' ] && set -x

unix – 文件中的列数

给定一个像这样的数据文件(即stores.dat文件) sid|storeNo|latitude|longitude 2|1|-28.03720000|153.42921670 9|2|-33.85090000|151.03274200 什么是一个命令来输出列名的数量? 即在上面的例子中,它将是4.(第一行中的pipe道字符数+1) 我在想像这样的东西: awk '{ FS = "|" } ; { print NF}' stores.dat 但它会返回所有的行而不是第一行,而第一行则返回1而不是4

如何编写安装程序的“是”响应?

我使用Amazon Linux实例工作,我有几个脚本来填充数据并安装所有与我一起工作的程序,但有几个程序会问: Do you want to continue [Y/n]? 并暂停安装。 我想在所有情况下自动回答“Y”,现在我确定如何去做。

Linux如何在特定时间运行脚本?

我有一个包含特定date和时间的文本文件。 我希望能够在该文件中指定的时间运行脚本。 你将如何实现? 创build另一个在后台运行的脚本(sorting的deamon),并检查每一秒,如果当前时间是匹配的文件中的时间? 有另一种方法吗? 该机器是一个Linux服务器,Debian wheezy。 提前致谢

检查Linux中给定进程的打开FD限制

我最近有一个“泄露”文件描述符的Linux进程:它打开了它们,并没有正确closures其中的一些。 如果我监控了这一点,我可以提前告诉我们这个过程已经到了极限。 有没有一个很好的,Bash \ Python的方式来检查一个Ubuntu Linux系统中给定进程的FD使用率? 编辑: 我现在知道如何检查有多less个打开的文件描述符。 我只需要知道一个进程允许多less个文件描述符 。 某些系统(如Amazon EC2)没有/proc/pid/limits文件。 谢谢, 乌迪

Xcode:在每个修改源代码的构build之前运行脚本

我做了什么: 我有一个脚本 阅读一些configuration文件来生成源代码片段 find相关的Objective-C源文件和 在步骤1中将源代码的某些部分replace为生成的代码。 还有一个Makefile,它有一个特殊的时间戳文件作为make目标,configuration文件作为目标源: SRC = $(shell find ../config -iname "*.txt") STAMP = $(PROJECT_TEMP_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME).stamp $(STAMP): $(SRC) python inject.py touch $(STAMP) 我将这个Makefile作为一个“运行脚本构build阶段”添加到项目目标的构build阶段的堆栈之上。 发生了什么: 脚本构build阶段在编译源代码之前运行。 但是,由于脚本在执行过程中修改了源代码,因此我需要构build两次以获取构build产品的最新版本。 这是我想要发生的事情: 第一次运行:Xcode收集依赖信息—>没有改变 第一次运行:Xcode运行“运行脚本生成阶段”—>源代码在Xcode后面改变 第一次运行:Xcode完成构build,没有什么需要更新 第二次运行:Xcode收集依赖信息—>源码已经更改,需要重新编译! 第二次运行:Xcode运行脚本生成阶段“—>一切都是最新的 第二次运行:Xcode继续编译 在阅读构build阶段的Xcode文档之后,我尝试添加一个源文件,这个文件在每次脚本运行时都被更新为“运行脚本构build阶段”的输出,但没有任何改变。 由于configuration文件的数量在我的项目中可能有所不同,我不想指定每个input和输出文件。 题: 如何让Xcode知道在“运行脚本构build阶段”期间所做的源文件更改? 编辑: 补充说,我把脚本构build阶段放在其他构build阶段之前

如何使用Bash将一个目录合并到另一个目录中?

我正在寻找合并文件从一个目录到另一个的shell脚本。 样品: html/ a/ b.html index.html html_new/ a/ b2.html b.html 用法: ./mergedirs.sh html html_new 结果: html/ a/ b.html b2.html index.html html/a/b.html被html_new/a/b.html所取代 html/a/b2.html是从html_new/a/b2.html复制的 html/index.html保持不变