Sed命令将文本行添加到文件的最末尾

时间:2015-04-30 00:04:58

标签: macos bash sed

我想使用sed在文件的最末端添加一行文本。在这种情况下,我正在使用OS X,我想在/ etc / sudoers文件中添加一行。我希望我的字符串成为文件中自己行的最后一个字符串。有什么想法吗?

示例:

text 
text 
text
<my string>

感谢。

4 个答案:

答案 0 :(得分:3)

如果你可以在没有sed的情况下做到这一点就很容易做echo <line> >> /etc/sudoers(虽然要小心你有一个有效的行!)。

如果你想用sed做,你可以sed -i -e '$a<line>' /etc/sudoers转到最后一行,然后附上你的文字。

答案 1 :(得分:2)

考虑使用echo并输出重定向:

sudo sh -c "echo 'my string' >> /etc/sudoers"

答案 2 :(得分:2)

您可以使用awk

awk '1; END {print "text to add"}' file > tmp && mv tmp file

这会在文件text to add

的末尾添加file作为新行

答案 3 :(得分:0)

我也尝试使用sed实现此目的,但不幸的是,尚未找到任何解决方案。但是我发现了一种解决方法,可以使用echo实现此功能:

$ echo“您要添加的行” >> yourTextFile.txt