我试图从文本文件中替换特定的字符串
输入:计算机外设、Internet技术、C/C++
输出:购买通用编程
当我尝试使用折叠sed时:
refcat="Computer Peripherals"
cat1="Shopping"
echo $list | sed -e 's@$refcat@$cat1@g'我得到以下结果:
计算机外设网络技术
我在另一条线上得到输出。有人能帮我吗??我的输入和输出值中可以包含特殊字符(除了“AC.26”或“@”)
发布于 2013-09-30 20:56:04
对于shell来展开变量,您需要双引号,我认为
echo $list | sed -e "s@$refcat@$cat1@g"我的例子
echo Computer Peripherals Internet Technology C/C++ | sed -e "s@${refcat}@${cat1}@g"结果
Shopping Internet Technology C/C++发布于 2013-09-30 20:55:55
单引号不插入shell变量,因此更改为双引号:
echo $list | sed -e "s@$refcat@$cat1@g"https://stackoverflow.com/questions/19103629
复制相似问题