我試圖做這樣的事情:如何用sed中的`pwd`結果替換一個標記?
sed 's/#REPLACE-WITH-PATH/'`pwd`'/'
不幸的是,我的錯誤了:
sed: -e expression #1, char 23: unknown option to `s'
爲什麼會出現這種情況?
我試圖做這樣的事情:如何用sed中的`pwd`結果替換一個標記?
sed 's/#REPLACE-WITH-PATH/'`pwd`'/'
不幸的是,我的錯誤了:
sed: -e expression #1, char 23: unknown option to `s'
爲什麼會出現這種情況?
您需要使用的,而不是/
一個不同的角色,例如:
sed 's?#REPLACE-WITH-PATH?'`pwd`'?'
因爲/
出現在pwd
輸出。
sed 's:#REPLACE-WITH-PATH:'`pwd`':' config.ini
問題是正確轉義輸出pwd
的問題之一。幸運的是,和vim一樣,sed支持使用不同的分隔符。在這種情況下,使用冒號而不是斜槓作爲分隔符可避免轉義問題。
,而不是摸索周圍有這樣的報價,你可以做這樣的
#!/bin/bash
p=`pwd`
# pass the variable p to awk
awk -v p="$p" '$0~p{ gsub("REPLACE-WITH-PATH",p) }1' file >temp
mv temp file
或只是慶典
p=`pwd`
while read line
do
line=${line/REPLACE-WITH-PATH/$p}
echo $line
done <file> temp
mv temp file
我試圖做一些類似的,這有助於我... 我用它是這樣的:`project_dir = $ {current_dir/\/f1 \/f2 //}` 我想要2個文件夾的路徑。 – Shrinath 2011-10-04 09:23:08
,您不能使用/直接,你必須使用'/'。
#!/bin/bash
dir=$`pwd`/
ls -1 | sed "s/^/${dir//\//\\/}/g"
非常有趣,我想知道錯誤的含義。很棒的工作 – 2017-09-27 11:31:51