簡體   English   中英

在SED命令中傳遞多個文件:日志提取

[英]Passing Multiple Files in SED Command: Log Extract

我正在嘗試在特定的時間戳記下從應用程序中提取日志。 所以我寫了以下腳本

a= echo $1 | sed 's/\//\\\//g';
b= echo $2 | sed 's/\//\\\//g';

sed -n "/$a/,/$b/p" $3;

在這里$ 1和$ 2是我想要日志的時間戳,而$ 3是我想要的文件的時間戳。

如果我傳遞單個文件,此腳本將非常完美。 但是,如果我有多個文件或目錄作為參數,則不會給出任何輸出。

這就是我執行腳本的方式

extract.sh '6/30/14 9:03' '6/30/14 9:05' abc_*/SysOut.log

SED可以處理多個文件嗎?還是UNIX的問題,它在將文件作為參數傳遞方面受到限制

在這方面有任何建議的建議嗎?

您的sed命令應為

sed -n "/$a/,/$b/p" -- "${@:3}"

請注意,如果您不使用Bash,則可以在運行sed之前先移動這些參數:

shift 2
sed -n "/$a/,/$b/p" -- "$@"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM