如何在不使用shell脚本中的管道或重定向的情况下将字符串附加到文件的开头或结尾?

时间:2011-03-03 02:31:23

标签: linux shell

初始文件为空。有命令吗?我尝试了sed,但它不适用于空文件。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您可以使用直线编辑器:

ed tmp.tmp << EOC
a
PUT STRING HERE
.
w
q
EOC

答案 1 :(得分:1)

我假设这是一个酒吧赌注或类似的东西。

以下是一些选项:

shuf是Linux coreutils的一部分。它可以接受字符串和输出文件作为参数。

shuf -e -o outputfile 'this is some text'

您也可以使用它仅输出换行符,然后使用sed -i

这有点类似。 dd创建一个零字节的文件,然后sed将字符串写入其中。

dd if=/dev/zero of=outputfile bs=1 count=1
sed -i 's/.*/foo\n/' outputfile

当然有Perl:

perl -e 'open $fh, ">", "outputfile"; print $fh "foo\n"'