2011-09-24 15 views
0

我寫一個簡單的UNIX腳本如下: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 ....我不知道它有什麼幫助?

回答

2

您可能會在echo命令行中出現一個偏離'\r'(回車)。您正在創建一個名爲"output.txt\r"的文件,然後嘗試讀取名爲"output.txt"而沒有回車的文件。

修復腳本,使其使用Unix風格的行尾(\n而不是\r\n)。您可以使用unix2dos命令。 (請注意unix2dos與大多數過濾器不同,會覆蓋其輸入文件。)