使用find循环访问Mac上的文件时,sed无效的命令代码

时间:2017-03-21 18:17:43

标签: bash

我想这是一个简单的问题,但我似乎能够理解为什么这是不正确的。

#!/bin/sh
header=`cat header.txt`
find . -name "*.go" -exec sed -i "" -e "1s|^|$header|" {} \;

这段脚本应该将header.txt的内容添加到所有.go文件中。但它输出:sed: 1: "./restapi/operations/su ...": invalid command code .

我找到了this回答,但问题仍然存在。

1 个答案:

答案 0 :(得分:0)

您可以使用:

find . -name "*.go" -exec bash -c \
'cat header.txt "$1" > "$1".tmp && mv "$1".tmp "$1"' - {} \;