簡體   English   中英

Sed使用正則表達式從文件中刪除時間戳

[英]Sed remove time stamp from file with regex

我正在嘗試使用sed從html文件中刪除模式。 時間戳由1-2位數字和四個字母單詞組成,然后是單詞前面

例:

25 mins ago

要么:

1 hour ago

等等。 我嘗試過像這樣使用sed:

sed -i "s/([0-9]{1,2}) [a-z]* ago//g"

Sed什么都不做,我不確定我的正則表達式是錯誤的,還是我沒有正確地逃避角色。

編輯:我通過刪除額外的空間來修復該表達式,感謝choroba。 現在sed從文件中刪除文本的mos。 表達需要不那么貪心? 還應該提一下,時間戳被> <例子包圍:

>1 hour ago<

編輯:這對我有用。 謝謝ravoori。

sed -i 's/[0-9]\{,2\} [[:alpha:]]\{4,5\} ago//g'

任何幫助表示贊賞!

試試下面的內容。 您需要使用sed轉義量詞元字符{}

echo "1 hour ago" | sed  's/[0-9]\{,2\} [[:alpha:]]\{4\} ago//g'
 echo "1 hour ago" | sed -e 's/.*ago$//g'

要么

 sed -e 's/.*ago$//g' <filename>

這應該刪除與結尾的行agofilename

如果您有其他行而不僅僅是以ago結束的時間戳,您可能不想使用它。 你沒有指定。

暫無
暫無

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

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