簡體   English   中英

SED替換引號內的文本

[英]SED to replace text inside quotes

假設我有一個文本文件,其中某些行是這種格式的:

%attr(750,user1,group1)  "/mydrive/mypath1/mypath2\winpath1\winpath2\file.xml"

我想要實現的是:

  • 僅觸摸以%attr開頭的行
  • 在每一行中都找到最后一個 “。*”(包括引號)
  • 在最后一次里面替換所有\\/

sed實用程序的正確語法是什么?

awk可以輕松完成這項工作:

awk -F '"' '/^%attr/ {gsub(/\\/, "/", $(NF-1))} 1' OFS='"' file

更改原始文件:

awk -F '"' '/^%attr/ {gsub(/\\/, "/", $(NF-1))} 1' OFS='"' file > _tmp && mv _tmp file

您可以嘗試使用此sed '/\\%attr/{s/\\\\/\\//g}'

暫無
暫無

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

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