假设我想计算文本中"o"字符的数量
oooasdfa
oasoasgo
Run Code Online (Sandbox Code Playgroud)
我的第一个想法是grep -c o,但这会返回2,因为grep返回匹配行的数量,而不是匹配的总数.我可以使用一个标志grep来改变它吗?或许我应该使用awk,或其他一些命令?
考虑这个设置和文件夹结构:
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) 我正在制作一个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)
我不想“回显”某些文本,我想直接在提示符下写。
谢谢!
出于调试目的,如果我可以使我的错误页面在异常堆栈跟踪中显示可点击的文件名,这将在我最喜欢的编辑器中打开它,那将是很好的.但是,这需要我执行完整的命令行 - 文件的简单链接不会.可以这样做吗?
该解决方案可以是仅IE浏览器,它可以使用需要完全信任的技术(我不指望它无论如何).人们只会在localhost上使用它,我实际上会在远程查看页面时禁用此功能.
我兼职在当地的一个学区工作.他们运行一个名为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) 我正在为全新的计算机工程专业的学生教授入门课程.本周我将教授基本的Windows控制台(命令提示符)命令和批处理文件(以及几周后的unix).去年,一些学生抱怨说"已经没有必要了".由于我坚持教它,我有一些理由.但我想听听你们的意见.在我开始之前,我可以用什么理由来说服他们?
谢谢.
好的,现在几个答案之后,我想列出我教授基本控制台命令和基本批处理文件使用的理由.
编辑:在MS-DOS的原始问题中,我试图说的是Windows命令提示符和命令行.
我正在尝试使用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");
我尝试通过命令行使用它,但它也没有在那里工作
感谢帮助
当我尝试在运行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子目录.任何帮助将非常感谢,谢谢!
对于我正在编写的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) 我正在尝试使用不同目录中的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来正确使用目录,但我不知道应该怎么做...