Okailon 2018-12-06 00:53 采纳率: 100%
浏览 2026
已结题

如何在Linux中处理替换字符中的特殊字符$?

虽然用Linux不是很多,但最近也在做了一点,感觉Linux非常强大,但也遇到了一些问题,想在此求解。
批量替换使用perl方法,成功执行:

find /data/www/default/ -iname "*.php" |xargs perl -pi -e "s|set names 'gbk'|set names 'utf-8'|g"

具体的操作为:将/data/www/default/下的所有php文件中的set names 'gbk'替换为set names 'utf-8'|,这句命令可以执行。

但是下面这句就无法执行,测试了一下是因为这个**“$”**,没有“$”的命令是可以执行的,用sed命令的情况也一样。

find /data/www/default/ -iname "*.php" |xargs perl -pi -e "s|mysqli_query(|mysqli_query($link,|g" 


请行家提示,如何在此加入这个“$”!


谢谢!

  • 写回答

2条回答 默认 最新

  • streamsunshine 2018-12-06 07:30
    关注

    你的“$link”应该是引用了link这个变量的值吧,你加一个括号($link)试一下,如果单纯就是 $link 可以使用斜杠符避免解析 $ 如 \$link

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵