我似乎无法掌握两者之间的差异.
似乎one(GNUWin32
)是一个在windows(如MSYS
)之上的层,而
另一个(cygwin)是另一个(?)
那是什么意思?我何时会使用一个而不是另一个?他们都适合同样的事情吗?
我想把它主要用于git,但是想要保持我的选择开放学习和做所有事情*nixy.
还有其他工具吗?会msysgit
更适合这个吗?
是否有任何资源能够详尽地解决所有这些*nix平台的差异?
我在Windows环境中使用Gnuwin32二进制文件.
当我想查找某种类型的文件时,我们说PDF,我通常运行:
find . -iname '*.pdf' -print
Run Code Online (Sandbox Code Playgroud)
这适用于任何UNIX系统.
find.exe . -iname "*.pdf" -print
Run Code Online (Sandbox Code Playgroud)
但是在Windows下,用双引号替换了单引号,它只在当前目录中没有pdf文件时才有效,否则*
会扩展.
更糟糕的是:当前目录中只有一个PDF文件,它会扩展,没有语法错误,你会得到错误的结果.
我试着*
用一个插入符号,一个反斜杠,一个明星本身,用双引号来避开它:对我来说没什么用.
好的,这是我的所有文件:
C:\tmp>find . -type f
./a/1.pdf
./a/2.pdf
./a/aa/1.pdf
./b/1.pdf
./b/bb/1.pdf
./b/bb/2.pdf
Run Code Online (Sandbox Code Playgroud)
良好的行为,通配符没有扩大
C:\tmp>find . -iname "*.pdf"
./a/1.pdf
./a/2.pdf
./a/aa/1.pdf
./b/1.pdf
./b/bb/1.pdf
./b/bb/2.pdf
C:\tmp>cd a
Run Code Online (Sandbox Code Playgroud)
注意,不一致的行为,扩展了通配符:
C:\tmp\a>find . -iname "*.pdf"
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]
C:tmp\a>cd ..\b
Run Code Online (Sandbox Code Playgroud)
注意,不一致的行为,扩展了通配符:
C:\tmp\b>find . -iname "*.pdf"
./1.pdf
./bb/1.pdf
Run Code Online (Sandbox Code Playgroud)
谢谢
我是grep和awk的新手 - 使用Windows 7(我从GnuWin下载了grep和awk for windows).
我在运行此脚本时遇到问题:
grep -Fwf dictionary.txt frequency.txt | awk '{print $2 "," $1}'
Run Code Online (Sandbox Code Playgroud)
我收到错误:
awk:'{print
awk:^表达式中的无效字符'''
我相信它可能与必须在Windows中使用双引号有关,但我尝试了所有我能想到的组合,但它仍然不起作用.
有人可以帮忙吗?谢谢
我需要为Windows上的某些文件获取mime类型,所以我安装了python-magic
(在32位python 2.7.3上).
这取决于unix magic
库.
作者指示得到regex2.dll
,zlib1.dll
并magic1.dll
从项目的GnuWin32.所以我将文件保存到文件夹并将文件夹添加到我的系统PATH
.
现在当我执行magic
方法时,我会丢失文件异常:
import magic
print(magic.Magic())
Traceback (most recent call last):
File "C:/Users/Admin/PycharmProjects/lex/lex.py", line 367, in <module>
test_magic()
File "C:/Users/Admin/PycharmProjects/lex/lex.py", line 364, in test_magic
print(magic.Magic())
File "C:\Python27\lib\site-packages\python_magic-0.4.3-py2.7.egg\magic.py", line 52, in __init__
magic_load(self.cookie, magic_file)
File "C:\Python27\lib\site-packages\python_magic-0.4.3-py2.7.egg\magic.py", line 188, in magic_load
return _magic_load(cookie, coerce_filename(filename))
File "C:\Python27\lib\site-packages\python_magic-0.4.3-py2.7.egg\magic.py", line 139, in errorcheck
raise MagicException(err)
magic.MagicException: could not find any magic files!
Run Code Online (Sandbox Code Playgroud)
DLL在PATH中,我尝试调试并且magic1.dll
位置正确,但是库中的某处会引发异常.
里面gnuwin32
包我找到了magic …
我一直在尝试使用我的Python2.7解释器在我的Windows 7机器上安装word2vec:https://github.com/danielfrg/word2vec
我已经尝试setup.py
从解压缩的目录下载zip并运行python install并运行pip install
.但是在这两种情况下都会返回以下错误:
Downloading/unpacking word2vec
Downloading word2vec-0.5.1.tar.gz
Running setup.py egg_info for package word2vec
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "c:\users\georgioa\appdata\local\temp\pip_build_georgioa\word2vec\setup.py", line 17, in <module>
subprocess.call(['make', '-C', 'word2vec-c'])
File "C:\Python27\lib\subprocess.py", line 524, in call
return Popen(*popenargs, **kwargs).wait()
File "C:\Python27\lib\subprocess.py", line 711, in __init__
errread, errwrite)
File "C:\Python27\lib\subprocess.py", line 948, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
Complete output from command …
Run Code Online (Sandbox Code Playgroud) 对于拥有Linux技能且喜欢命令行的程序员来说,在Windows上使用什么更好 - Cygwin或GnuWin32?
我试图找到一个很好的比较或差异列表,但找不到任何远程完成的东西.此外,我想知道这是否应该是一个superuser.com问题,但决定反对它,因为我正在准确地要求程序员使用该工具.
我想知道每个解决方案的常见缺陷和限制.与Windows的互操作性是一个重要问题,因为我的主要开发是在MSVC中完成的......
查看gnuwin32/bin目录,有一个奇怪的程序文件名为 [.exe
我在文档,gnuwin32.sourceforge.net或谷歌搜索中找不到它,所以我运行它得到:
$ [
[: missing `]'
$
Run Code Online (Sandbox Code Playgroud)
所以我把它作为参数并得到了
$ [ ]
$
Run Code Online (Sandbox Code Playgroud)
它没有抱怨,所以我认为它是在正确的轨道上.我试过了:
$ [ hello ]
Run Code Online (Sandbox Code Playgroud)
再次,没有抱怨.所以我尝试了一个算术表达式:
$ [ 1 + 1 ]
[: +: binary operator expected
$
Run Code Online (Sandbox Code Playgroud)
我尝试了一堆不同的组合,包括前缀和后缀表示法,但似乎没有任何效果.这件事做什么?
如果我有一个不同长度的十六进制数的文件,例如
1F
b
c
Run Code Online (Sandbox Code Playgroud)
如何从命令行对它们进行排序?
Linux解决方案是受欢迎的,但我将使用windows和cygwin或gnuwin32.
注意:我显然不能使用SORT'cos来保持它们的顺序是错误的.
我已经下载到SIP模块为Python 2.7,创造了一个Makefile文件,并试图make
与makefile文件目录的命令,但我得到这个错误:
Makefile:3: recipe for target 'all' failed
mingw32-make[10]: *** [all] Error 2
mingw32-make[10]: Leaving directory 'D:/Users/myLogin/Downloads/python/sip-4.14.5'
Run Code Online (Sandbox Code Playgroud)
我和Gnuwin和mingw32都犯了这个错误.所以我现在不知所措.任何的想法?
我试图使用OpenSSL的GnuWin32版本从几个WebSphere MQ队列管理器中获取证书。所有尝试都会导致OpenSSL保持连接打开,直到我手动按ENTER键为止。
我尝试按照这个SO问题和这个SO问题将各种文本传送到命令中,但是没有运气。
理想情况下,一旦输入文件或管道文本到达EOF,OpenSSL将关闭连接。
例子:
echo QUIT | openssl s_client -connect qmgrhost:1414 -showcerts
openssl s_client -connect qmgrhost:1414 -showcerts < responsefile.txt
Run Code Online (Sandbox Code Playgroud)
使用QUIT
命令的示例似乎在另一个SO问题中也可以使用,因为它们正在命中HTTP服务器。因为在我的情况下这是WMQ,所以连接握手是不同的,发送QUIT
(或我尝试过的其他任何操作)不能使它关闭连接。在QMgr阻塞并终止连接之前,我可能会向其提供一个巨大的文件,但我正在尝试对服务器尽可能礼貌。从键盘提供ENTER的当前方法是按原样在每个连接上引起FDC转储,引发各种警报并使Tivoli伙计们生我的气。
因此,最好的情况是QMgr将该字符串或十六进制值解释为正常拒绝并关闭连接。第二好的情况是任何允许对此脚本编写脚本的方法,我们将接受FDC文件作为自动执行此功能的代价。
更新:2013年5月31日,
我此后搬到了AIX,它在这里非常有效。在脚本中运行并在其中插入换行符后,建立连接后,s_client立即挂断。但是,我仍然希望有Windows的解决方案。有人知道Cygwin版本是否有效或存在相同问题吗?Windows信令/ POSIX问题吗?代码错误?
我想从字符串末尾删除数字.
例:
string123
example545
Run Code Online (Sandbox Code Playgroud)
输出:
string
example
Run Code Online (Sandbox Code Playgroud) gnuwin32 ×11
windows ×4
cygwin ×3
awk ×2
command-line ×2
grep ×2
linux ×2
python ×2
bash ×1
batch-file ×1
emulation ×1
expansion ×1
find ×1
gnu ×1
ibm-mq ×1
makefile ×1
mingw ×1
msys ×1
msysgit ×1
openssl ×1
pip ×1
python-2.7 ×1
python-magic ×1
python-sip ×1
word2vec ×1