我想这是一个简单的问题,但我似乎能够理解为什么这是不正确的。
#!/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回答,但问题仍然存在。
答案 0 :(得分:0)
您可以使用:
find . -name "*.go" -exec bash -c \
'cat header.txt "$1" > "$1".tmp && mv "$1".tmp "$1"' - {} \;