我有build.gradle文件。我需要搜索字符串android {
,如果找到的话;在下一行它应该回复一些内容为echo "signing config={..SOME CODE.....} > build.gradle
。这可能吗。使用上面的代码,我可以从命令行回显代码,只在开头或结尾。请帮帮我。
编辑:
示例...我的gradle文件为
buildscript {
CODE
}
dependencies {
CODE
}
}
apply plugin: 'com.android.application`
android {
defaultConfig {
CODE
}
}
在将android {
检测为字符串时,应在android {
之后追加以下内容
buildscript {
CODE
}
dependencies {
CODE
}
}
apply plugin: 'com.android.application`
android {
**HERE THE TEXT ADDED IN THE COMMAND SHOULD APPEAR**
defaultConfig {
CODE
}
}
答案 0 :(得分:1)
简单的awk怎么样?
awk '/^android/{print;print "**HERE THE TEXT ADDED IN THE COMMAND SHOULD APPEAR**";next}1' build.gradle
最后的'1'可能有点神秘,更冗长的版本:
awk '/^android/{print;print "**HERE THE TEXT ADDED IN THE COMMAND SHOULD APPEAR**";next}{print $0}' build.gradle
就地更改:
{ rm build.gradle && awk '/^android/{print;print "**HERE THE TEXT ADDED IN THE COMMAND SHOULD APPEAR**";next}{print $0}' > build.gradle ; } < build.gradle
答案 1 :(得分:0)
sed -i
对就地编辑的调用将执行您想要的操作:
sed -i 's/android {/android {\n**HERE THE TEXT ADDED IN THE COMMAND SHOULD APPEAR**/'
您可以使用sed
调用的其他几种变体来根据您的具体需求进行定制。