linux - 在 bash/sed 中修剪输入
问题描述
我的输入看起来像:
22/05/2016TAKEMEAWAY nsorte dat TAKEMEAWAYd0 "https://bears.com"
22/05/2016TAKEMEAWAY nsorte dat TAKEMEAWAYd241 "https://bears.com"
22/05/2017TAKEMEAWAY nsorte her the TAKEMEAWAYd447020 "https://bears.com"
22/05/2017TAKEMEAWAY nsorte TAKEMEAWAYd115155 "https://bears.com"
22/05/2017TAKEMEAWAY nsorte TAKEMEAWAYd6792 "https://bears.com"
22/05/2017TAKEMEAWAY nsorte TAKEMEAWAYd625385 "https://bears.com"
22/05/201TAKEMEAWAYTAKEMEAWAY 20 vBul Dogs ( Cinema TAKEMEAWAY)4154850 "https://bulldogs.com/ my cats"
22/05/2017TAKEMEAWAYTAKEMEAWAY 20 vBul Dogs (Cinema TAKEMEAWAY)4154880 "https://cats.com/my dogs"
22/05/2017TAKEMEAWAYTAKEMEAWAY 20 vBul Dogs (Cinema TAKEMEAWAY)4154830 "https://bears.com"
22/05/2017TAKEMEAWAYTAKEMEAWAY 20 vBul Dogs (Cinema TAKEMEAWAY)4154820 "https://flowers.com"
22/05/2018TAKEMEAWAYTAKEMEAWAY 20 vBul Dogs (Cinema TAKEMEAWAY)4154810 "https://bulldogs.com"
我希望输出在左侧有一个空格分隔日期,中间有字节数:
22/05/2016 0 "https://bears.com"
22/05/2016 241 "https://bears.com"
22/05/2017 447020 "https://bears.com"
22/05/2017 115155 "https://bears.com"
22/05/2017 6792 "https://bears.com"
22/05/2017 625385 "https://bears.com"
22/05/2017 4154850 "https://bulldogs.com/ my cats"
22/05/2017 4154880 "https://cats.com/my dogs"
22/05/2017 4154830 "https://bears.com"
22/05/2017 4154820 "https://flowers.com"
22/05/2018 4154810 "https://bulldogs.com"
有谁知道怎么做sed
?
解决方案
一种方法是用任何非数字开头TAKEMEAWAY
和结尾的模式替换一个模式,并将整个匹配替换为空格:TAKEMEAWAY
sed 's/TAKEMEAWAY.*TAKEMEAWAY[^[:digit:]]*/ /g' your_file
推荐阅读
- r - 尝试子集化时出现未定义列错误
- r - 如何在 ggplot2 中使用 facet_grid 组合三个堆叠线图中的两个?
- c# - 如何从 Swagger ui 中隐藏特定操作方法的模型参数
- javascript - 如何编写 mysql 查询以获取 JSON 输出?
- bixby - 如何在bixby中获取用户的时区信息?
- c# - 使用 HttpWebRequest 连接到远程服务器时出错
- ruby-on-rails - Rails fields_for不在页面上呈现
- node.js - 如何使用带有 XML 公钥的 RSA 加密 JSON 有效负载,然后在 node.js 中将其编码为十六进制
- woocommerce-rest-api - 基于元值的自定义 POST/PUT 路由/端点
- javascript - 即使在使用 $(document).ready(function() {}); 甚至在使用 $(function) 块之后