bash - 如何删除两个短语之间的时间戳?
问题描述
需要从短语 “已导入日期为 Thu Apr 11 13:19:02 2019 的日志文件”中删除唯一时间戳: “Thu Apr 11 13:19:02 2019” 。仅使用sed命令(必需条件)。
注意:请注意输入文件包含两个短语!!!
https://unix.stackexchange.com/questions/88382/using-sed-to-delete-everything-between-two-words
/^Log file dated/,/have been imported./{/^Log file dated/!{/have been imported./!d}}
不幸的是,当我们在一个文件中有两个短语时,这不起作用。
解决方案
感谢帮助!
这是我的同事发现的另一种工作方法,它使用“[TIMESTAMP]”文本代替唯一时间戳:
s/[A-Za-z]\{3\}.[A-Za-z]\{3\}.[0-9]\{1,\}.[0-9]\{1,\}.[0-9]\{1,\}.[0-9]\{1,\}.[0-9]\{1,\}/[TIMESTAMP]/g
在 bash 控制台中测试:
echo "Log file dated Thu Apr 11 13:19:02 2019 have been imported." | sed 's/[A-Za-z]\{3\}.[A-Za-z]\{3\}.[0-9]\{1,\}.[0-9]\{1,\}.[0-9]\{1,\}.[0-9]\{1,\}.[0-9]\{1,\}/[TIMESTAMP]/g'
Input text: "Log file dated Thu Apr 11 13:19:02 2019 have been imported."
Output text: "Log file dated [TIMESTAMP] have been imported."
推荐阅读
- android - 带有数据库和网络请求的分页库
- couchdb - 我可以使用 Hyperledger Couchdb 混合排序吗?
- android - 如何处理免安装应用中的所有应用链接
- elasticsearch - 全域弹性搜索的配置
- android - Firebase 云消息传递 (FCM) onMessageReceived 永远不会在服务中被调用
- android - 在弹出菜单中更改文本颜色
- mysql - 如何在 SQL 中的行中查找重复项?
- ruby-on-rails - pg_search 用于自动完成或子字符串搜索
- ios - 更改导航栏中按钮的大小
- polymer - Polymer- 带有子分页的应用程序路由