在特定字符串之后将文本添加到文件之间
Add text to a file in between after a particular string
我有 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
}
}
简单的 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 [=11=]}' build.gradle
就地更改:
{ rm build.gradle && awk '/^android/{print;print "**HERE THE TEXT ADDED IN THE COMMAND SHOULD APPEAR**";next}{print [=12=]}' > build.gradle ; } < build.gradle
sed -i
调用就地编辑将执行您想要的操作:
sed -i 's/android {/android {\n**HERE THE TEXT ADDED IN THE COMMAND SHOULD APPEAR**/'
sed
调用还有其他几种变体,您可以根据自己的具体需要对其进行定制。
我有 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
}
}
简单的 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 [=11=]}' build.gradle
就地更改:
{ rm build.gradle && awk '/^android/{print;print "**HERE THE TEXT ADDED IN THE COMMAND SHOULD APPEAR**";next}{print [=12=]}' > build.gradle ; } < build.gradle
sed -i
调用就地编辑将执行您想要的操作:
sed -i 's/android {/android {\n**HERE THE TEXT ADDED IN THE COMMAND SHOULD APPEAR**/'
sed
调用还有其他几种变体,您可以根据自己的具体需要对其进行定制。