簡體   English   中英

用sed替換文件中的特定模式或替換

[英]Replace specific pattern in a files with sed or replace

在我的站點地圖文件中,我想用_(下划線)替換:(冒號)。 但是我不想替換諸如時間戳等文件中的other。

我的線

    <sitemap><loc>http://www.example.com/sitemap_2014-09-27_09:42:43_1.xml.gz</loc>
<lastmod>2014-09-27 09:42:43</lastmod></sitemap>

在這一行中,“ sitemap_2014-09-27_09:42:43_1.xml.gz”應變為“ sitemap_2014-09-27_09_42_43_1.xml.gz”,但時間戳不會影響。

我是sed和pattern的新手。 有人可以提供sed或replace或任何其他linux命令來替換文件中的此模式。

您可以嘗試使用此GNU sed命令,

sed -r 's/([^ ])([0-9]{2}):([0-9]{2}):([0-9]{2})/\1\2_\3_\4/g' file

通過基本的sed

sed 's/\([^ ]\)\([0-9]\{2\}\):\([0-9]\{2\}\):\([0-9]\{2\}\)/\1\2_\3_\4/g' file

暫無
暫無

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

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