[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
升级到4.2.2喽

C:\Test>sed --version
sed (GNU sed) 4.2.2
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

虽不明,但觉厉!

TOP

感谢分享。

这个版本能够正确计算中文字符。很多版本都把 1 个中文计算为两个字符。

TOP

android ndk 的sed -i 参数不能用

TOP

android ndk 里面有个很好用的sed 4.2.1,单文件,x64也可以用的。

TOP

回复 19# CrLf

92.5k 的 那个 4.0.7版不会吧, 就是换行符比较纠结, 用起来问题不大.

TOP

回复 16# tor524e


    不知道为什么会调用 ntvdm 来模拟 16 位环境,我下载的 4.14 单文件版好像也是这样,但 4.2 多文件版却不会,是否是单文件版都会调用 ntvdm 呢?

TOP

回复 17# broly


    如果能像那个多文件版的同时兼容32和64就好了

TOP

回复 15# forfiles


    应该是。我找个时间试试编译一个64bit的。
---学无止境---

TOP

这个是16位的..... 运行后会自动换成短目录模式(xp sp3)....

TOP

64位的Win7系统无法使用,是不是只能用32位的系统?

This version of e:\Test\sed.exe is not compatible with the version of Window
s you're running. Check your computer's system information to see whether you ne
ed a x86 (32-bit) or x64 (64-bit) version of the program, and then contact the s
oftware publisher.

TOP

回复 12# Demon


    sed4.2.1我没有编译成功,附件那个是DJGPP官网上下载的。我只编译Gawk成功了(根据GNU给的官方文档)。GNU官方文档没有给出sed在DJGPP下编译的方法。
   所以我跑去DJGPP官网找到一个DJGPP环境的编译方法,但是也是编译不了,总是很多问题,一步步解决了,到了后面一步,找不到解决的方法了。
  
   编译文档,有兴趣可以试试:
  1. This is a port of GNU Sed 4.2.1 to MSDOS/DJGPP.
  2. 1.:     DJGPP specific changes.
  3.         =======================
  4.       - To compile the sources you will need libsupp 6.2 or later.  The library
  5.         provides a fixed version of popen()/pclose() functions and some other
  6.         functions from the libc cvs repository that will replace or extend the
  7.         functionality of those ones that come with djdev204 (2004-11-25).
  8.       - This version of the port will support the generation of 8+3 valid
  9.         backup names for input file names if only SFN support is available.
  10.         This concerns the '-i' option (in-place editing).
  11.       - The port will open the input stream in binary mode.  This will allow to
  12.         process files that contain embedded ^Z and lone ^M characters.
  13.       - This version of the port no longer support the bootstrapping of sed.
  14.       - You will need LFN support to configure and compile the source package.
  15.         I have no plans to support SFN systems to build the sed binaries.
  16.         As usual, all djgpp specific files (config.bat, diffs, readme files,
  17.         etc.) are located in the djgpp subdir.
  18. 2.:     Installing the binary package.
  19.         ==============================
  20. 2.1.:   Copy the binary distribution into the top DJGPP installation directory
  21.         and unzip it running *ONE* of the following commands:
  22.           unzip32 sed421b.zip      or
  23.           djtarx sed421b.zip       or
  24.           pkunzip -d sed421b.zip
  25. 2.2.:   If there is no entry for the sed info docs in your dir file, located
  26.         info directory, create one running the command:
  27.           install-info --info-dir=/dev/env/DJDIR/info /dev/env/DJDIR/info/sed.info
  28.         For futher information about GNU Sed please read the info docs and the NEWS file.
  29. 3.:     Building the binaries from sources.
  30.         ===================================
  31. 3.1.:   To build the binaries you will need the following binary packages:
  32.           djdev203.zip (patch level 2, see the djdev203.dsm)
  33.           bsh204br2.zip, gccNNNb.zip, bnuNNNb.zip, makNNNb.zip,
  34.           filNNNb.zip, shlNNNb.zip, txtNNNb.zip, txiNNNb.zip,
  35.           grepNNNb.zip, sedNNNb.zip and difNNNb.zip.
  36.         NNN stands for the current version of that port.  All these packages can
  37.         be found in the /v2gnu directory of ftp.delorie.com and any mirror.
  38.         Previuos versions of those packages may do the job as well but I have
  39.         not tested this.
  40. 3.2.:   Create a temporary directory. Copy the source package: sed421s.zip
  41.         into the directory and unzip it runnig ONE of the following commands:
  42.           unzip32 sed421s.zip      or
  43.           djtarx sed421s.zip       or
  44.           pkunzip -d sed421s.zip
  45. 3.3.:   If for some reason you want to reconfigure the package cd into the top
  46.         srcdir (sed-4.2-1) and run the following commands:
  47.           del djgpp\config.cache
  48.           make distclean
  49.           djgpp\config
  50.         Please note that you *MUST* delete the config.cache file in the /djgpp
  51.         subdir or you will not really reconfigure the sources because the
  52.         configuration informations will be read from the cache file instead
  53.         of being newly computed.
  54.         To build the programs in a directory other than where the sources are,
  55.         you must add the parameter that specifies the source directory,
  56.         e.g:
  57.           x:\src\gnu\sed-4.2-1\djgpp\config x:/src/gnu/sed-4.2-1
  58.         or:
  59.           x:\src\gnu\sed-4.2-1\djgpp\xp-config x:/src/gnu/sed-4.2-1
  60.         Lets assume you want to build the binaries in a directory placed on a
  61.         different drive (z:\build in this case) from where the sources are,
  62.         then you will run the following commands:
  63.           z:
  64.           md \build
  65.           cd \build
  66.           x:\src\gnu\sed-4.2-1\djgpp\config x:/src/gnu/sed-4.2-1
  67.         or:
  68.           x:\src\gnu\sed-4.2-1\djgpp\xp-config x:/src/gnu/sed-4.2-1
  69.         The order of the options and the srcdir option does not matter. You
  70.         *MUST* use forward slashes to specify the source directory.
  71.         The batch file will set same environment variables, make MSDOS specific
  72.         modifications to the Makefile.ins and supply all other needed options
  73.         to the configure script.
  74. 3.4.:   To compile the package run from the top srcdir the command:
  75.           make
  76. 3.5.:   Now you can run the tests if you like. From the top srcdir run the
  77.         command:
  78.           make check
  79.         No one of the tests should fail no matter if you have used stock djdev203
  80.         or beta djdev204.
  81. 3.6.:   To install the binary, info docs and man pages run the following command
  82.         from the top srcdir:
  83.           make install
  84.         This will install the products into your DJGPP installation tree given
  85.         by the default prefix "/dev/env/DJDIR". If you prefer to install them
  86.         into some other directory you will have to set prefix to the appropiate
  87.         value.
  88.         Example:
  89.           make install prefix=z:/some/other/dir
  90.         Send sed specific bug reports to <bonzini@gnu.org>.
  91.         Send suggestions and bug reports concerning the DJGPP port
  92.         to comp.os.msdos.djgpp or <djgpp@delorie.com>.
  93. Enjoy.
  94.           Guerrero, Juan Manuel <juan.guerrero@gmx.de>
复制代码
---学无止境---

TOP

回复 10# broly


    谢谢,先慢慢学学。

TOP

回复  Demon


    win32下编译GNU软件一般有3种比较常用的方法:

:一个在windows平台上运行的unix ...
broly 发表于 2012-6-5 19:11



    附件里的那个是怎么编译的?

TOP

回复 8# Demon


    win32下编译GNU软件一般有3种比较常用的方法:

Cygwin:一个在windows平台上运行的unix模拟环境。编译出来的软件需要有库文件依赖。

MinGw:我觉得GnuWin32应该就是用的这个编译环境。因为安装出来的软件,库文件依赖就是用的这个环境里面的。不能单独编译出单文件版的。

DJGPP:DJGPP是GCC编译器在DOS操作系统上的一个移植版本,可以用来在DOS操作系统下编译生成32位保护模式的程序。其实这个就是编译在DOS系统下使用的。在windows的CMD下也可以兼容使用。

以上三种方法,我都有试过,都各有优缺点。
Cygwin这个缺点就是库文件的依赖,个人不喜欢。同样的,MinGw编译出来的也要库文件依赖的。
DJGPP就好一点,不会出现库文件依赖,可以编译出单文件版的,而且编译速度比前两个都要快,其缺点就是,字符兼容性没那么好。由于主要是面向DOS使用的,DOS字符集没有CMD下的丰富(DJGPP的编译器考虑的是英文版的系统),所以在使用编译出来的GNU软件后,CMD界面的中文字符无法识别,变成"???"。这一点就比较不好。

我一直在找用MinGw编译单文件版的方法,但是找好久都没有找到适合的。有一次在一个德国的网站上看到Gawk,这个就编译的很好,应该不是DJGPP编译出来的,我也不清楚怎么编译的。发邮件去问了他,但是都没有得到有用的答案。感觉自己还是太菜了,很多东西都不懂,编译起来束手束脚。O_O
---学无止境---

TOP

返回列表