這是一個SED問題。SED,獲取最後一個文件名
我在石英作曲家工作(Mac OSX版)的腳本:
- 打開從目錄中的最後一個日誌。
- 獲取該文件的最後文本行並刪除其24個字符。
- 顯示最後一行每一個新的最後.LOG
內部創建的時候,我認爲這將是如此簡單。此時此刻,我在QC中完成了這項工作,而且幾乎可以工作。但我有問題與SED的命令都getFileName.sh和getLastLineOfLog.sh
getFileName.sh
#!/bin/bash
cd /Users/Me/
/bin/echo `ls -tr *.log | tail -1`
我需要在這裏是打開最後一個.log文件,使用此名稱結構127.0.0.1,NUMBER.log是NUMBER部分中的5位數字。數字越高,.log文件越新。現在,它只打開第一個.log文件。
您知道如何在SED中編寫正確的命令嗎?
getLastLineOfLog.sh
#!/bin/bash
/usr/bin/tail -1 /Users/Me/$1 | sed 's/^.\{24\}//' > /Users/Me/$1.log
echo `/usr/bin/tail -1 /Users/Me/$1.log`
在第二個文件,我試圖讓加載.LOG的最後文件和回聲它沒有它的第24個字符。它工作,但創建一個新的.log.log。 (等)文件每次功能通過,我想避免的事情。
是否需要將SED命令的結果輸出到新文件?它如何儘可能簡單地完成?
預先感謝您。
非常感謝vlabrecque。 – Pablo 2010-11-09 23:17:48