Articles of shell

从命令行使用短标签运行PHP

我有一个很多文件使用的框架 当我从框架中包含一个文件时,include不知道它是一个php文件,并把它作为一个简单的文本文件。 现在我在php.ini中的php定义是use_short_tags启用,当我浏览网站时,我也看到它,它的工作。 我的问题是如何使用框架文件,并让PHP知道使用短标签时,我从命令行运行我的脚本 谢谢

什么是最快的egrep

我需要从一个200万行的大型csv文件egrep,我想减lessegrep时间到0.5秒,这是可能的吗? 不,我不希望数据库(sqlite3或MySQL)在这个时候.. $ time wc foo.csv 2000000 22805420 334452932 foo.csv real 0m3.396s user 0m3.261s sys 0m0.115s 我已经能够将运行时间从40秒减less到1.75秒 $ time egrep -i "storm|broadway|parkway center|chief financial" foo.csv|wc -l 108292 real 0m40.707s user 0m40.137s sys 0m0.309s $ time LC_ALL=C egrep -i "storm|broadway|parkway center|chief financial" foo.csv|wc -l 108292 real 0m1.751s user 0m1.590s sys 0m0.140s 但我希望egrep实时不到半秒钟,任何技巧将不胜感激,文件不断变化,所以我不能使用任何caching机制…

用shell查找pdf内部的string

我想知道是否有任何方法来检查是否有一个pdf文件中使用shell脚本的string? 我正在寻找像这样的东西: if [search(string,pdf_file)] > 0 then echo "exist" fi

意想不到的EOF而寻找匹配`“'

当我从命令行执行时,该命令正常工作。 然而,当我从shell脚本执行它时会引发错误 rsync -avz -e ssh –exclude-from=rsync.file –rsync-path="sudo rsync" ostnfe/ ubuntu@mask.compute-1.amazonaws.com:/var/www/ostnfe 来自shell脚本的代码: CMD='rsync -avz -e ssh –exclude-from=rsync.file –rsync-path="sudo rsync" '$1'/ ubuntu@'$AMZ':/var/www/'$2 $CMD 错误: bash: -c: line 0: unexpected EOF while looking for matching `"' bash: -c: line 1: syntax error: unexpected end of file

如何从shell脚本中获取mongo数据库的集合确切列表

我想从mongo数据库中获取集合名称列表。 所以,我在shell脚本中使用以下命令: collections = mongo $dbName –eval "db.getCollectionNames()" 该命令的输出结果是 “MongoDB shell版本:2.2.0连接到:cm_v2 col1,col2,col3,col4” 我想只得到集合名称,如:col,col2,col3,col4。 那么,我应该如何从结果中删除类似版本的输出。

在java程序的不同目录中运行Bash命令

程序说明: 我正在编写一个Java程序,其中当前目录是/ home / user / Desktop。 我想在“location / home / user / project /”中运行一个bash命令“du -s”来查找该文件夹的大小,以便我可以在我的项目中使用该文件夹的大小。 我不能发布整个代码,因为它有一些敏感的数据。 我只是张贴需要的代码。 这是我所做的: import java.io.*; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.File; public class Exec_in_cur_dir { public static void main(String[] args) { try { StringBuffer output = new StringBuffer(); String Command ="cd /home/user/project"; //Bash Command // […]

如何在远程主机上运行bash函数()? 在Ubuntu中

我正在运行一个bash脚本,但是当我尝试在远程机器上运行函数时,它说 bash: keyConfig: command not found 这是我的脚本: keyConfig() { sed -i.bak -r "/^$1/s/([^']+')([^']+)('.*)/\1$2\3/" $3 } remoteExecution() { ssh ppuser@10.101.5.91 " keyConfig $1 $2 $4 " } remoteExecution

将时间戳添加到shell脚本的cat输出

我有一个小的脚本,从ttyUSB输出到一个文件,我想为每行添加一个时间戳。 从命令行,这就是我想要的一切: $ cat /dev/ttyUSB0 /home/pi/daily_logs/ttyUSSB0 | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; } 我的问题是,当我将它添加到脚本一切正常,但awk时间戳不会被添加。 我的脚本行如下所示: cat < /dev/ttyUSB0 > /home/pi/daily_logs/ttyUSB0 | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; } & 任何帮助得到这个将不胜感激。

如何获得system()运行的命令的状态

看我在我的c代码中使用一个系统调用 #include <sys/stat.h> #include <stdio.h> int main(int argc, char *argv[]) { int a = system("./test12.out"); //here if i am giving any wrong commad system("echo $?") printf("system return is %d",a); } 我的当前文件夹中没有任何test12.out文件。 现在输出 sh: ./test12.out: No such file or directory 0 system return is 32512 这里我的shell命令有失败,但我怎么知道在我的c代码? 编辑: 所以我可以这样下去 int main(int argc, char *argv[]) { int a […]

如何从terminal读取date,并与当前date进行比较

我想知道从terminal读取date和使用shell脚本比较当前date的适当方式, 我有下面的脚本, a=`date +%Y-%m-%d` while [ 1 ] ; do echo "Enter Date" read todate if [ $todate < $a ];then break; fi echo "todate greater than curDate" done 它没有按预期运行。 请帮帮我。 UPDATE 这是我的最终版本, #! /bin/bash DATE=$(date '+%s') while [ 1 ] ; do echo "Enter Date[DD MM YYYY]:" read DMY THIS=$(date -d "$Y-$M-$D" '+%s') if […]