标签: command-line

通过标准unix命令获取正则表达式的匹配总数

假设我想计算文本中"o"字符的数量

oooasdfa
oasoasgo
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是grep -c o,但这会返回2,因为grep返回匹配行的数量,而不是匹配的总数.我可以使用一个标志grep来改变它吗?或许我应该使用awk,或其他一些命令?

regex command-line grep

1
推荐指数
1
解决办法
870
查看次数

从命令行调用MAC/Linux上的python脚本 - 传递参数

考虑这个设置和文件夹结构:

c:\foo
      \bin\foo.bat
      \lib\foo.py
Run Code Online (Sandbox Code Playgroud)

我有foo.bat路径添加到我的环境PATH,所以我可以从传递一些参数的任何地方调用它:

c:/>foo.bat -v 
Run Code Online (Sandbox Code Playgroud)

foo.bat包含以下代码:

@ECHO OFF
"c:\foo\lib\foo.py" %1 %2 %3 %4 %5 %6 %7 %8 %9
Run Code Online (Sandbox Code Playgroud)

这在Windows中运行良好.

现在我希望能够在Mac或Linux中做同样的事情.

我怎样才能创建这个可执行文件,它将调用脚本lib\foo.py,传入一些参数?

谢谢

[解]

谢谢你们,你的答案帮助我最终得到了这个按预期工作的脚本:

在\ foo\bin\foo 文件中

#!/usr/bin/env bash
python /usr/local/foo/lib/foo.py $*
Run Code Online (Sandbox Code Playgroud)

python linux macos command-line batch-file

1
推荐指数
1
解决办法
2845
查看次数

Shell脚本:如何输出到命令行?

我正在制作一个Shell脚本,我想知道执行脚本时是否可以直接写到命令行?

范例:

user@localhost:/home/user$./script.sh
... output
... another output
... another output
... last output
user@localhost:/home/user$I want to write here on the command line
Run Code Online (Sandbox Code Playgroud)

我不想“回显”某些文本,我想直接在提示符下写。

谢谢!

linux shell command-line

1
推荐指数
1
解决办法
2935
查看次数

有没有办法建立一个从本地计算机运行程序的HTML链接?

出于调试目的,如果我可以使我的错误页面在异常堆栈跟踪中显示可点击的文件名,这将在我最喜欢的编辑器中打开它,那将是很好的.但是,这需要我执行完整的命令行 - 文件的简单链接不会.可以这样做吗?

该解决方案可以是仅IE浏览器,它可以使用需要完全信任的技术(我不指望它无论如何).人们只会在localhost上使用它,我实际上会在远程查看页面时禁用此功能.

html command-line

1
推荐指数
1
解决办法
3501
查看次数

Java报告运行A +学习系统的错误.任何想法如何解决它们?

我兼职在当地的一个学区工作.他们运行一个名为A +学习系统的软件.它使用java运行时环境来完成它的工作.在我们的一台计算机上,它没有运行; 打开命令提示符并键入:

  java -jar als.jar
Run Code Online (Sandbox Code Playgroud)

给出以下错误消息.

    C:\als30\alsclient>java -jar als.jar > C:\alsdebuginfo.txt
    Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/ControllerListener
     at java.lang.ClassLoader.defineClass1(Native Method)
     at java.lang.ClassLoader.defineClassCond(Unknown Source)
     at java.lang.ClassLoader.defineClass(Unknown Source)
     at java.security.SecureClassLoader.defineClass(Unknown Source)
     at java.net.URLClassLoader.defineClass(Unknown Source)
     at java.net.URLClassLoader.access$000(Unknown Source)
     at java.net.URLClassLoader$1.run(Unknown Source)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.net.URLClassLoader.findClass(Unknown Source)
     at java.lang.ClassLoader.loadClass(Unknown Source)
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
     at java.lang.ClassLoader.loadClass(Unknown Source)
     at ALS.checkALSRunning(ALS.java:1017)
     at ALS.main(ALS.java:192)
   Caused by: java.lang.ClassNotFoundException: javax.media.ControllerListener
     at java.net.URLClassLoader$1.run(Unknown Source)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.net.URLClassLoader.findClass(Unknown Source)
     at java.lang.ClassLoader.loadClass(Unknown Source)
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
     at java.lang.ClassLoader.loadClass(Unknown Source) …
Run Code Online (Sandbox Code Playgroud)

java debugging command-line

1
推荐指数
1
解决办法
810
查看次数

学习控制台命令的重要性

我正在为全新的计算机工程专业的学生教授入门课程.本周我将教授基本的Windows控制台(命令提示符)命令和批处理文件(以及几周后的unix).去年,一些学生抱怨说"已经没有必要了".由于我坚持教它,我有一些理由.但我想听听你们的意见.在我开始之前,我可以用什么理由来说服他们?

谢谢.

好的,现在几个答案之后,我想列出我教授基本控制台命令和基本批处理文件使用的理由.

  • 首先,它有助于了解幕后发生的事情.这对于未来的许多课程(如操作系统和网络)非常有用.
  • 学习Linux之前的一个良好开端.那么,为什么不首先使用Linux?因为他们中的大多数从未使用过除Windows以外的任何其他东西.(几周后我会教Linux和虚拟盒子)
  • 不要低估批处理文件.这也是UNIX shell脚本的一个很好的介绍.
  • 他们也在学习Windows上的C编程.所以他们可以使用system()的一些命令; 功能在他们的代码中.
  • 在他们的余生中,他们必须在不使用GUI的情况下执行许多任务.

编辑:在MS-DOS的原始问题中,我试图说的是Windows命令提示符和命令行.

windows command-line cmd batch-file

1
推荐指数
3
解决办法
7910
查看次数

命令行中的url参数

我正在尝试使用wkhtmltopdf创建一个pdf文件,当我通过网址www.example.com pdf正在生成或www.example.com?id=1

但是当我试图把另一个参数命令执行不起作用

www.example.com?id=1&type=u

shell_exec("c:\ pdf\wkhtmltopdf.exe http://localhost/test/index.php?id = 1&typee = abc test.pdf");

我尝试通过命令行使用它,但它也没有在那里工作

感谢帮助

php compiler-construction command-line wkhtmltopdf

1
推荐指数
1
解决办法
1190
查看次数

在Mac OS 10.6上安装virtualenv时出错

当我尝试在运行OS 10.6.4的本地计算机上安装virtualenv时,我得到以下内容:

Searching for virtualenv
Reading http://pypi.python.org/simple/virtualenv/
Reading http://virtualenv.openplans.org
Best match: virtualenv 1.5.1
Downloading http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.5.1.tar.gz#md5=3daa1f449d5d2ee03099484cecb1c2b7
Processing virtualenv-1.5.1.tar.gz
Running virtualenv-1.5.1/setup.py -q bdist_egg --dist-dir /var/folders/Ej/EjJBMhPjFSWPq+RuE6ubhE+++TI/-Tmp-/easy_install-lZp_Mm/virtualenv-1.5.1/egg-dist-tmp-vC_6xR
warning: no previously-included files matching '*.*' found under directory 'docs/_templates'
Adding virtualenv 1.5.1 to easy-install.pth file
Installing virtualenv script to /usr/local/bin
error: /usr/local/bin: Permission denied
Run Code Online (Sandbox Code Playgroud)

关于如何在最后解决错误的任何想法?

error: /usr/local/bin: Permission denied
Run Code Online (Sandbox Code Playgroud)

查看我的/ usr/local目录,没有/ bin子目录.任何帮助将非常感谢,谢谢!

python terminal command-line virtualenv

1
推荐指数
1
解决办法
1807
查看次数

如何在Perl中使用Getopt时对参数进行分组?

对于我正在编写的perl脚本,可以提供很多(~50)命令行选项.其中大多数是可选的,因此呼叫将只提供一些选项.

我正在使用,Getopt::Long但它不允许我使用GetOptions多次.因此,我必须在一次GetOptions调用中使用所有命令行选项.

使用时是否有一些好方法可以对选项进行分组GetOptions

$ cat test.pl
use strict;
use warnings;
use Getopt::Long;

my ($a, $b, $c, $d);

GetOptions ('a=s' => \$a, 'b=s' => \$b);
GetOptions ('c=s' => \$c, 'd=s' => \$d);

print "a = $a\nb = $b\nc = $c\nd = $d\n";

$ perl test.pl -a=AA -b=BB -c=CC -d=DD
Unknown option: c
Unknown option: d
Use of uninitialized value in concatenation (.) or string at test.pl line 10.
Use of uninitialized value in …
Run Code Online (Sandbox Code Playgroud)

perl command-line getopt command-line-arguments

1
推荐指数
1
解决办法
2588
查看次数

使用Linux中不同目录中的文件应用patch命令

我正在尝试使用不同目录中的2个文件应用补丁.输出文件也应该在不同的目录中.第一个文件位于/var/local/documents/document.xml中,补丁文件位于/var/local/patches/patch.diff中,我希望输出文件应该在/ var/local/final/final中创建. xml.

当文件位于同一目录中时,此命令有效:

patch document.xml -i patch.diff -o final.xml
Run Code Online (Sandbox Code Playgroud)

但是当它们位于不同的目录中时,我尝试使用以下命令:

patch /var/local/documents/document.xml -i /var/local/patches/patch.diff -o /var/local/final/final.xml

我收到以下错误:

(Stripping trailing CRs from patch.)
patching file {file}
Hunk#1 FAILED at 20.
1 out of 1 hunk FAILED -- saving rejects to file {file}
Run Code Online (Sandbox Code Playgroud)

我在某处读过我应该使用-d和-p来正确使用目录,但我不知道应该怎么做...

linux diff command-line command patch

1
推荐指数
1
解决办法
8610
查看次数