【发布时间】:2013-08-22 07:57:30
【问题描述】:
您好,我尝试在 Bash 脚本中使用 Sed,但遇到了问题。 (我对他们俩都是新手)
我正在尝试在标志 <!-- Beginning git log --> 之后插入 $log。
#!/bin/bash
log=`git log -1 --stat --date=short --pretty=format:'[ %cd | %an | %s ]'`
sed "/<!-- Beginning git log -->/a $log" ~/opt/prime.dropbox/commit.md
所以在 commit.md 中我会:
some text
<!-- Beginning git log -->
git log output
some text
我已经尝试了所有可能的单引号/双引号技巧,.. 或者可能只是所有错误的技巧。
这是我最常遇到的错误。
sed: -e expression #1, char 102: unknown command: `f'
我知道 awk 应该有一个更简单的方法,但我已经很接近了。 ^^
也许是 Html 字符 <!-- --> 阻塞或什么?
谢谢
【问题讨论】:
-
可能
git log的输出包含sed 特有的字符。$log的值是多少? -
[ 2013-08-20 |塞尔吉奥 |没有 -p 的 git 日志] index.html | 2 +- 1 个文件已更改,1 个插入 (+),1 个删除 (-) 是的,看起来像。但我不想让 sed 解释它。