unix脚本 - 制作文本文件时出现问题

时间:2011-09-24 01:25:39

标签: unix cygwin

我正在编写一个简单的unix脚本,如下所示:

#!/bin/bash
mkdir tmp/temp1
cd tmp/temp1
echo "ab bc cj nn mm" > output.txt
grep 'ab' output.txt > newoutput.txt

我收到以下错误消息:

grep : No such file or directory found output.txt

但是当我查看目录时,文本被创建了output.txt ...但文件的类型是TXT ....我不确定它是什么帮助?

1 个答案:

答案 0 :(得分:2)

您可能在'\r'命令的行上有一个迷路echo(回车)。您正在创建一个名为"output.txt\r"的文件,然后尝试在没有回车的情况下读取名为"output.txt"的文件。

修复脚本,使其使用Unix样式的行结尾(\n而不是\r\n)。您可以使用unix2dos命令。 (请注意,与大多数过滤器不同,unix2dos会覆盖其输入文件。)