![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 15:37 |
共 47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已解决]多重命令的最后重定向输出怎么办呢? |
| 可打印版本 928 / 11 |
| 第1楼 pooronce | 发表于 2008-08-29 14:06 |
| 中级用户 发帖 250 积分 484 | |
|
[已解决]多重命令的最后重定向输出怎么办呢? 比如这样一串命令:
这样一串命令,如果把重定向输出 >>abcd.txt 加到行首,则它会和到第一个abc.txt的后面去,成了第一条命令的输出。 而放到整行的末尾又会出问题,会被当成最后一条命令的输入文件产生错误。 请问这种情况该怎么办呢? ps: 命令是临时乱写的,仅做参考,实际用的复杂得多 [ Last edited by pooronce on 2008-9-8 at 10:52 AM ] |
|
| 第2楼 s11ss | 发表于 2008-08-29 14:11 |
| 银牌会员 发帖 566 积分 2,098 | |
|
试试:
|
|
| 第3楼 pooronce | 发表于 2008-08-29 14:25 |
| 中级用户 发帖 250 积分 484 | |
|
不行
另外实际上find之前还有for语句 -_-# |
|
| 第4楼 HAT | 发表于 2008-08-29 16:19 |
| 版主 发帖 5,017 积分 9,023 | |
|
能否把abc.txt的内容和你在顶楼“临时乱写的”命令的输出结果贴出来看看,我认为有语法错误。
|
|
| 第5楼 lxmxn | 发表于 2008-08-30 11:14 |
| 版主 发帖 4,938 积分 11,386 | |
|
语法有错吧,CMD 里面用 gawk 需要用双引号。
何况你这些命令的组合无非是处理字符串,用 gawk 就足够了。 |
|
| 第6楼 pooronce | 发表于 2008-09-04 14:34 |
| 中级用户 发帖 250 积分 484 | |
Originally posted by lxmxn at 2008-8-30 11:14 AM: 我一直是用单引号的,这样方便一点(因为里面会有指定分割符啊,比较字符串啊等等的都是用双引号,到时候注释起来麻烦且在cmd下经常出错) 已经发现问题所在了,原来是双引号数目不匹配造成的,但又没办法匹配,因为最后需要指定一下双引号作为替换来源(在sed中) 这种情况怎么办呢?如果双引号个数不匹配的情况下,用脱字符? |
|
| 第7楼 HAT | 发表于 2008-09-04 15:19 |
| 版主 发帖 5,017 积分 9,023 | |
|
cmd里面用单引号不报错?你的gawk版本是?
|
|
| 第8楼 pooronce | 发表于 2008-09-04 18:15 |
| 中级用户 发帖 250 积分 484 | |
|
GNU Awk 3.1.6
cygwin里的 |
|
| 第9楼 lxmxn | 发表于 2008-09-04 19:22 |
| 版主 发帖 4,938 积分 11,386 | |
|
RE: pooronce 你能使用单引号,是因为你使用的是Cygwin,里面的环境应该是shell,而不是cmd,shell 中既可以用单引号引用一个“单元”,也可以用双引号,而cmd里面只能是双引号,你用单引号一般会报错的。
一般解决办法有三种: 1、使用转义; 2、使用字符的十六进制或者八进制来表示; 3、添加“额外”的引号来构造“配对”的双引号 D:\lxmxn\work\Other\tests>type test.txt [ Last edited by lxmxn on 2008-9-5 at 02:49 AM ] |
|
| 第10楼 HAT | 发表于 2008-09-04 20:54 |
| 版主 发帖 5,017 积分 9,023 | |
|
原来是cygwin啊,楼主在顶楼给的例子忒误导观众了,cygwin里面哪有这样的用法啊:find /n ".*" abc.txt
|
|
| 第11楼 pooronce | 发表于 2008-09-05 00:09 |
| 中级用户 发帖 250 积分 484 | |
|
装cygwin后我从来就没用过它进bash环境的 -_-#
只是在path里加入cygwin\bin目录 然后所有的使用都是在cmd环境下面用的啊 |
|
| 第12楼 pooronce | 发表于 2008-09-05 11:25 |
| 中级用户 发帖 250 积分 484 | |
|
刚试了一下,把cygwin的bin目录复制到虚拟机里,然后加Path,再直接使用sed/gawk/grep 都是可以用单引号的
你们是怎么安装这些命令的啊?什么版本的? |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |