繁体   English   中英

sed命令用正则表达式替换

[英]sed command replace with regex

我一直在head头,试图让sed搜索文件替换时间戳。

示例替换字符串(文件):

<script src="<@ofbizContentUrl>/xxx/js/v6/jsfile.js?v=201711271300</@ofbizContentUrl>"></script>

<script src="<@ofbizContentUrl>/xxx/js/v6/jsfile2.js?v=20171127245</@ofbizContentUrl>"></script>

基本上我想将示例中的201711271300替换为我在可变日期中保存的当前时间戳。 示例中的日期因情况而异。

我一直在尝试

sudo sed -i "s/?v=.+?(?=<)/?v=${date}/g" file

无济于事,现在进行了2个小时

试试这个

sed "s/?v=\([0-9]*<\)/?v=${date}</g" $file

它使用一种更简单的模式:所有数字,直到您按下<为止。 替换为数据(并恢复< )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM