正如标题所说,我想在文本中找到一个字符串,但这个字符串很特殊。文字可能是这样的:
{
PREBINDING = NO;
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "22B333C5-6D7A-4A76-81F2-12A045DAE44C";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = 2;
}
(另外,如果你是 ios 开发者,你可能知道文本示例来自 XXX.xcodeproj/project.pbxproj)
我需要找到并删除这行文本:
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "22B333C5-6D7A-4A76-81F2-12A045DAE44C";
在这一行中,它有引号(“),有括号([]),有星号(*),还有空格()。当我尝试使用下面的代码找到这一行时:
provisionStr="22B333C5-6D7A-4A76-81F2-12A045DAE44C"
fileDir=project.pbxproj
totalLineStr=`grep $provisionStr $fileDir`
sed -i "" "s@$provisionStr@@" $fileDir
此 bash 代码不起作用。请帮助我,我刚刚开始学习使用 bash。