我正在编写一个简单的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 ....我不确定它是什么帮助?
答案 0 :(得分:2)
您可能在'\r'
命令的行上有一个迷路echo
(回车)。您正在创建一个名为"output.txt\r"
的文件,然后尝试在没有回车的情况下读取名为"output.txt"
的文件。
修复脚本,使其使用Unix样式的行结尾(\n
而不是\r\n
)。您可以使用unix2dos
命令。 (请注意,与大多数过滤器不同,unix2dos
会覆盖其输入文件。)