【发布时间】:2021-07-17 18:55:43
【问题描述】:
我正在尝试完成一个小脚本来创建我的自定义 React 环境并使用我想要的 eslint/prettier 配置安装我的 peerdeps,但我无法完成最后一步,即从 @ 替换这些行987654321@:
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
这些:
"eslintConfig": {
"extends": "@gbrachetta/eslint-config"
},
"prettier": "@gbrachetta/prettier-config",
我尝试使用sed 逐行替换,但目前为止:
FILE="package.json"
sed -i '' 's/"react-app",/"@gbrachetta\/eslint-config"/g' $FILE
sed -i '' 's/"react-app\/jest"//g' $FILE
这目前产生:
"eslintConfig": {
"extends": [
"@gbrachetta/eslint-config"
]
},
我未完成的任务是:
- 删除第二个
sed命令留下的空行。 - 在右大括号 + 逗号之后插入行
"prettier": "@gbrachetta/prettier-config",。
我在 MacOS 和 zsh 上。我意识到某些sed 命令对我的设置的工作方式不同。
很想知道如何完成这个小任务!
【问题讨论】:
-
你不需要两个
sed调用,你可以给一个调用多个命令。 -
你必须用
sed做这个吗?该文件是 JSON,所以最好使用jq来解析它并创建结果。 -
哦,它不需要 sed。我不擅长编写脚本。我会使用任何适用于我的 bash 脚本的方法。
-
prettier字段插入的位置重要吗?插入到文件末尾可以吗? -
那也不错!