Batch file 执行命令前添加1的批处理文件
我有一个批处理脚本,它将命令回送到单独的批处理文件,然后调用这些文件。无论何时执行外部批处理文件命令,都会在该命令之前随机添加1。这是以前没有发生过的,然后似乎随机开始发生。它会阻止批处理文件中的SED命令正确执行Batch file 执行命令前添加1的批处理文件,batch-file,sed,Batch File,Sed,我有一个批处理脚本,它将命令回送到单独的批处理文件,然后调用这些文件。无论何时执行外部批处理文件命令,都会在该命令之前随机添加1。这是以前没有发生过的,然后似乎随机开始发生。它会阻止批处理文件中的SED命令正确执行 SED -n -e "/point1/,/point2/p" test.csv > point1.csv 输出为 SED -n -e "/point1/,/point2/p" test.csv 1>point1.csv 你知道为什么会这样吗 重定向器前面的字符是逻
SED -n -e "/point1/,/point2/p" test.csv > point1.csv
输出为
SED -n -e "/point1/,/point2/p" test.csv 1>point1.csv
你知道为什么会这样吗 重定向器前面的字符是逻辑设备号。0是标准输入(通常是键盘),1是标准输出(通常是控制台),2是标准输出(通常也是控制台) 语法“>文件名”实际上是“1>文件名”的缩写形式,因此出现了“1” 遗憾的是,您的描述不允许重复您的问题。“批处理文件中的SED命令无法正确执行”是指“某些批处理文件(生成器或子系统?)中的某些SED命令无法按预期执行(未指定)”
请提供生成命令、生成的子批次、要处理的数据、预期结果和实际结果的示例。(无需过火-只需几行即可-只需编辑您的问题以包含此数据)是的,您使用的是Windows,因此无论出于何种/无任何原因,任何事情都是可能的。只需安装cygwin并从shell运行您的命令-保存您的理智…重定向操作符
与1>
等效;重定向与重定向句柄(在本例中为1
,表示标准输出,STDOUT)相呼应,以防没有明确提供重定向句柄;我也解决了这个问题。结果证明与1>无关。然而,我很好奇为什么windows开始打印1,而它以前没有这样做?AFAIR,“twas曾经在NT上这样做过,可以追溯到1996年或之前的NT4。出于与DOS脚本兼容的原因,1>
和
是同义词<代码>2>没有经常使用;可能是为了符合理论(错误报告到stderr,正常输出到stdout)。要看到它的辉煌,请尝试打开echo
,命令将显示在屏幕上。关键点是echo 12 x>文件
,例如,如果x
是1
或echo
“12”,它将回显到文件中例如,如果x
是3
,则显示在屏幕上并创建一个空文件。在重定向程序调用此行为之前,出现一个数字-0,1,2是唯一实现的设备,但任何数字的行为似乎都很奇怪。因此,通常实现语法>文件名echo 12 3
。