[英]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.