![Bash-如何在将文本附加到文件时添加新行?](https://linux22.com/image/1187451/Bash-%E5%A6%82%E4%BD%95%E5%9C%A8%E5%B0%86%E6%96%87%E6%9C%AC%E9%99%84%E5%8A%A0%E5%88%B0%E6%96%87%E4%BB%B6%E6%97%B6%E6%B7%BB%E5%8A%A0%E6%96%B0%E8%A1%8C%EF%BC%9F.png)
我正在运行此命令将输出文本数据附加到 markdown 文件:
git log -1 --oneline --skip=1 | tee -a page1.md
大部分功能都很棒,但我需要格式化输出以使其可读。现在,上面的命令正在附加 markdown 文件,如下所示:
Append1 Append2 Append3
我需要将其格式化为如下格式:
Append1
Append2
Append3
每次运行该命令时,都会创建一个新行并填充信息git log
。
感谢您对此事的任何指导。
答案1
git log -1 --oneline --skip=1 | tee -a 第1页.md echo >> page1.md
将echo
附加一个换行符。
我假设--oneline
确实为每次调用添加了一行。
备选,单行:
git log -1 --oneline --skip=1 | tee -a page1.md && echo >> page1.md
答案2
汉努回答看起来正确,但如果你想将其作为单行命令执行 - 其中一种可能的方法是使用命令cat
和流程替代像这样:
cat <(git log -1 --oneline --skip=1) <(echo) | tee -a page1.md
看起来您经常使用它,因此您可以在文件底部添加以下功能~/.bashrc
:
function git-log-1 () { cat <(git log -1 --oneline --skip=1) <(echo) | tee -a "$1"
然后执行source ~/.bashrc
或打开一个新的终端并使用该功能作为 shell 命令:
git-log-1 page1.md