【发布时间】:2017-01-17 09:01:10
【问题描述】:
我正在尝试使用 sed 递归替换文件夹中的所有 shabang(用于在 android 中运行程序..)。 当我尝试使用“普通单词”时,该命令运行良好,但当我尝试使用 shabang 时变得头疼。我尝试的一切,我都得到了错误:
替换表达式中的错误选项
不匹配的'/'
找不到事件
我是新手,这可能是初学者的错误,所以这里是代码(tsst 是我的文件夹):
grep -rl "env python" tsst |xargs sed -i "s/\#!/usr/bin/env python/\#!/system/python2.7.9//g"
我也尝试了变量:(代码的第一部分很好..我只是复制有问题的地方。)
sed -i "s/$old/$new/g"
sed -i 's/"$old"/"$new"/g'
sed -i "s/'\#!\/usr\/bin\/env python'/'\#!\/system\/python2.7.9\/'/g"
我做错了什么?
【问题讨论】:
-
您是否尝试过 1) 使用
find而不是xargs,2) 在单个文件上进行此替换,3) 更简单的替换?