Sed
用 sed 替換特定值
我有一個包含數百個以
$
.$ cat /tmp/file $one $t $three $one $t $three $t $three
我正在嘗試
sed
僅替換以 . 開頭的值$t
。$ sed "s/\$t/foo/g" /tmp/file $one foo foohree $one foo foohree foo foohree
但是上面的命令
$three
也替換了這些值。我怎樣才能防止這種情況?
嘗試:
sed "s/\$t\>/foo/g" /tmp/file
\>
是單詞結尾的正則表達式模式匹配。
嘗試使用以下 sed 和 awk 命令
awk '{for(i=1;i<=NF;i++){if($i =="$t"){gsub(/\$t/,"foo",$i)}}}1' filename
sed 命令
sed "s/\$t /foo /g" filename
輸出
$one foo $three $one foo $three foo $thre
和