我目前正在處理一個shell腳本,其中有時可能會將錯誤輸出到文件中,但我需要移動錯誤,因爲它不代表任何操作,一切正常只要錯誤不存在。在bash腳本中使用sed從文件中刪除一行
我有具有以下的腳本:
ftp ftp://$2:[email protected]$1 <<BLOCK> $5
cd "$4"
ls
quit
BLOCK
$ 5是FTP命令的輸出寫入文件。因此,在該文件中,我有以下
total 8
-rw-r--r-- 1 root root 42 Dec 17 14:26 test1.txt
-rw-r--r-- 1 root root 6 Dec 17 14:08 test2.txt
有時我得到的錯誤?Invalid command.
所以我用sed
從文件中刪除錯誤。我已經將shell腳本更改爲以下內容。測試注意事項我已將error
放入FTP中以確保我收到上述錯誤消息。
ftp ftp://$2:[email protected]$1 <<BLOCK> $5
cd "$4"
ls
error
quit
BLOCK
fileout=$(sed '/?Invalid command./d' $5)
echo $fileout > $5
這是工作在這個意義上,我刪除了錯誤信息,但它也消除了換行,所以當我看一下這個文件,我得到以下
total 8 -rw-r--r-- 1 root root 42 Dec 17 14:26 test1.txt -rw-r--r-- 1 root root 6 Dec 17 14:08 test2.txt
如何保持線路休息?
感謝您提供的任何幫助。
報價'sed'的輸出是絕對荒謬的。這正是管道的用途。 –