0
我有一個bash腳本和日誌文件。如何當只是最後x行 - Bash
while read -r date time ...
do
...
...
done < logfile
它正在工作的所有線路。但日誌文件太大,有時我需要爲最後幾行運行此腳本。我怎麼能這樣做?
./script.sh -last 30
意味着只是最後30行。
或者只是:
./script.sh 30
我有一個bash腳本和日誌文件。如何當只是最後x行 - Bash
while read -r date time ...
do
...
...
done < logfile
它正在工作的所有線路。但日誌文件太大,有時我需要爲最後幾行運行此腳本。我怎麼能這樣做?
./script.sh -last 30
意味着只是最後30行。
或者只是:
./script.sh 30
只要把tail -n 30
在它的前面:
tail -n 30 logfile | while read -r date time ...
do
...
...
done
一個微小的修正:日誌文件必須被分流至尾,然後 – 2014-11-06 07:59:25
確實是這樣,我忘了補充日誌文件中'尾巴'命令,謝謝! – anubhava 2014-11-06 08:00:44
如果while循環的主體需要在當前shell中運行,請切換到進程替換:'while read -r date time;做...完成<(尾部-n 30日誌文件)'。 – chepner 2014-11-06 14:11:05