Joh*_*ann 1 linux bash sed insert
如何将字符串插入最后一行的开头?
我想在包含多行的文本文件中添加时间戳
var1 = `date`
LINE1
LINE2
LINE3
...
(INSERT var1 here) LASTLINE
Run Code Online (Sandbox Code Playgroud)
sed 's/^/test line /g' textfile 将字符插入每行的开头但是如何才能专门修改最后一行?
谢谢
前进:
sed '$s/^/sample text /' textfile工作,但仅在插入常规字符串时.如果我试试
var1 = "sample text"
Run Code Online (Sandbox Code Playgroud)
并使用替代,这是我遇到的问题
在sed中使用单引号不会扩展变量,因此sed'$ s/^/$ var1 /'textfile会将字符串$ var1插入到最后一行的开头.
为了启用变量替换,我尝试使用双引号.当我指定确切的行号时,它可以工作.就像是:
sed"5s/^/$ var1 /"textfile
但是当我尝试时sed "$s/^/$var1" text file,它会返回一个错误:
sed:-e expression#1,char 5:命令后的额外字符
有谁可以帮助我吗?
像这样:
sed '$s/^/test line /' textfile
Run Code Online (Sandbox Code Playgroud)
$表示最后一行.同样,您可以通过放置行号来插入任何特定行$
| 归档时间: |
|
| 查看次数: |
4911 次 |
| 最近记录: |