首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于将文本预先添加到文件的Unix命令

用于将文本预先添加到文件的Unix命令
EN

Stack Overflow用户
提问于 2012-05-15 00:45:52
回答 18查看 91.8K关注 0票数 156

是否有一个Unix命令可以将一些字符串数据预先添加到文本文件中?

类似于:

代码语言:javascript
运行
复制
prepend "to be prepended" text.txt
EN

回答 18

Stack Overflow用户

回答已采纳

发布于 2012-05-15 01:01:02

代码语言:javascript
运行
复制
sed -i.old '1s;^;to be prepended;' inFile

  • -i将更改写在适当的位置,并在给定任何扩展时进行备份。(在本例中,.old)
  • 1s;^;to be prepended;使用;作为命令分隔符,用给定的替换字符串替换第一行的开头。
票数 136
EN

Stack Overflow用户

发布于 2015-01-15 02:52:44

代码语言:javascript
运行
复制
printf '%s\n%s\n' "to be prepended" "$(cat text.txt)" >text.txt
票数 178
EN

Stack Overflow用户

发布于 2017-03-16 06:55:24

进程替换

我很惊讶没有人提到这一点。

代码语言:javascript
运行
复制
cat <(echo "before") text.txt > newfile.txt

这可以说比公认的答案更自然(打印一些东西并将其转换为替换命令在字典序上是违反直觉的)。

...and劫持瑞安上面所说的,使用sponge你不需要临时文件:

代码语言:javascript
运行
复制
sudo apt-get install moreutils
<<(echo "to be prepended") < text.txt | sponge text.txt

编辑:看起来这在Bourne Shell /bin/sh中不起作用

此处字符串(仅限zsh)

使用here-string - <<<,您可以执行以下操作:

代码语言:javascript
运行
复制
<<< "to be prepended" < text.txt | sponge text.txt
票数 65
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10587615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档