Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当我使用正常值时a=10
a=10
我能够让 sed 查找/替换工作
sed -e "s/xxx/$a/g" a.txt
但是当我尝试使用像这样的变量时a=http://xyz.com
a=http://xyz.com
sed -e "s/xxx/$a/g" a.txt不管用...
我认为它抛出未知选项错误是由于变量上存在转义字符
使用 awk,您的字符串可以包含任何字符,包括 /、@、换行符等:
$ a="http://xyz.com" $ echo "<xxx>" | awk -v a="$a" '{gsub(/xxx/,a)}1 <http://xyz.com>
尝试这个:
sed -e "s@xxx@$a@g" a.txt