首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用sed向文件中添加新行

使用sed向文件中添加新行
EN

Stack Overflow用户
提问于 2016-01-15 14:12:20
回答 2查看 1.6K关注 0票数 1

我想用sed在数据文件的顶部添加一条新行,并在该行中写入一些内容。

我尝试了How to add a blank line before the first line in a text file with awk中的建议:

sed '1i\ \' ./filename.txt

但是它在文件的第一行开始时打印了一个反斜杠,而不是创建一个新行。如果我试图将其全部放在同一行("1i\":在i命令结尾处的额外字符),终端也会抛出一个错误。

投入:

代码语言:javascript
复制
1 2 3 4 
1 2 3 4 
1 2 3 4 

预期产出

代码语言:javascript
复制
14
1 2 3 4 
1 2 3 4 
1 2 3 4 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-15 15:14:05

代码语言:javascript
复制
$ sed '1i\14' file
14
1 2 3 4
1 2 3 4
1 2 3 4

但是,只需使用awk来实现清晰、简单、可扩展性、健壮性、可移植性和软件的所有其他可取属性:

代码语言:javascript
复制
$ awk 'NR==1{print "14"} {print}' file
14
1 2 3 4
1 2 3 4
1 2 3 4
票数 2
EN

Stack Overflow用户

发布于 2016-01-15 14:50:03

基本上,您正在连接两个文件。包含一行和原始文件的文件。这是cat的一项任务

代码语言:javascript
复制
cat - file <<< 'new line'
# or 
echo 'new line' | cat - file

-则代表stdin。

如果shell支持以下内容,还可以将cat与命令替换一起使用:

代码语言:javascript
复制
cat <(echo 'new line') file

顺便说一句,对于sed,它应该是简单的:

代码语言:javascript
复制
sed '1i\new line' file
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34812929

复制
相关文章

相似问题

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