我有一個文件(problem.txt)殼變量,其中每行具有時間戳開始在格式例如: 2014-01-05 00:00:49,908
使含有時間戳SED
problem.txt內容:
2014-01-05 00:00:49,004 ABCDE DEF Sample1 THE END
2014-01-05 00:00:51,037 ABCDE DEF Sample2 THE END
2014-01-05 01:01:00,911 ABCDE DEF Sample3 THE END
2014-01-05 01:30:49,747 ABCDE DEF sample4 THE END
2014-01-05 02:00:00,475 ABCDE DEF sample5 THE END
2014-01-05 03:00:00,037 ABCDE DEF sample6 THE END
手頭的任務是查找給定時間戳之間的所有行,其中開始和結束時間戳存儲在shell變量中($ searchstart0,$ searchend0)。
例如:
searchstart0=2014-01-05 00:00:49,004
searchend0=2014-01-05 03:00:00,037
此外,結果必須被存儲在文本文件(RESULTS.TXT)。 因此,我正在使用sed
命令來完成上述任務。下面是命令
sed -n "/$searchstart0/ , /$searchend0/p" problem.txt > /home/abc/results.txt
然而,在執行上述commnad生成的文本文件是空的,我看到以下消息:
sed -e expression #1, char 0:no previous regular expression
此外,我試圖的執行使用單引號的命令,而不是雙引號但仍生成的文件是空的。 請讓我知道是否有任何可能的解決方案來完成任務。
我認爲你需要將它們傳遞給之前引用shell變量SED。 – potong
它是否必須是'sed'?這聽起來像'awk'對'> ='和'<='使用字符串比較更合適。 –
也許你的'sed'扼住了逗號周圍的空格? – tripleee