我想递归地添加以.ts
以下文本结尾的所有文件:export {};
并且我需要至少排除文件夹node_modules
.
我试过:
find . f ! -path '*/node_modules/*' -iname "*.ts" -exec sed -e '1 i\export {}' \;
Run Code Online (Sandbox Code Playgroud)
结果:对于每个文件我得到:sed: 1: "1 i\export ./src/query/ ...": extra characters after \ at the end of i command
更新:我gnu-sed
在 macOS 上安装并尝试使用gsed
。但它似乎不起作用——它似乎无限运行。
我在一个.txt
文件中有一个 git 提交列表,我想遍历这些提交。对于每个COMMIT_ID
我想使用git
退出代码为0
or的命令检查它们1
。
根据我想要的结果echo
true
或false
.
但是在运行脚本时,我收到此错误:
line 5: [: 0: unary operator expected
Run Code Online (Sandbox Code Playgroud)
脚本如下:
#!/usr/bin/env bash
input="./commits.txt"
while IFS= read -r COMMIT_ID
do
if [ 0 -eq $(git merge-base --is-ancestor $COMMIT_ID HEAD) ];
then
echo "true";
else
echo "false";
fi
done < "$input"
Run Code Online (Sandbox Code Playgroud)