shell 在文件指定行插入文本内容

cd ../FlutterModule/.ios
sed -i.bak '5i\
def fix_mmkv_plugin_name(flutter_application_path)\
\  is_module = false\
\  plugin_deps_file = File.expand_path(File.join(flutter_application_path, '"'"'..'"'"','"'"'.flutter-plugins-dependencies'"'"'))\
\  if not File.exists?(plugin_deps_file)\
\    is_module = true;\
\    plugin_deps_file = File.expand_path(File.join(flutter_application_path,\ '"'"'.flutter-plugins-dependencies'"'"'))\
\  end\
\  plugin_deps = JSON.parse(File.read(plugin_deps_file)).dig('"'"'plugins'"'"', '"'"'ios'"'"') || []\
\  plugin_deps.each do |plugin|\
\    if plugin['"'"'name'"'"'] == '"'"'mmkv'"'"' || plugin['"'"'name'"'"'] == '"'"'mmkvflutter'"'"'\
\      require File.expand_path(File.join(plugin['"'"'path'"'"'], '"'"'tool'"'"', '"'"'mmkvpodhelper.rb'"'"'))\
\      mmkv_fix_plugin_name(flutter_application_path, is_module)\
\      return\
\    end\
\  end\
\  raise "Fail to find any mmkv plugin dependencies"\
end\
fix_mmkv_plugin_name(flutter_application_path)\
' Podfile
echo "插入内容结束"
1、cd ../FlutterModule/.ios 进入到指定文件目录
2、sed -i.bak '5i\ 在第五行插入,结尾\表示换行 (注意:shell没有第0行,从第1行开始)
3、\ is_module = false\ (第一个\ 表示\后面要空多少个空格)
4、plugin['"'"'name'"'"'],'"'"'转义符号,表示插入一个单引号在字符串中
5、' Podfile,表示把内容插入到这个文件里面
6、echo "插入结束",打印出字符串

你可能感兴趣的:(shell 在文件指定行插入文本内容)