0

作为我要求的一部分,我需要在 unix 中的现有文件中添加标头。为此,我使用了从这个讨论中得到的 ed 文本编辑器

如何在 shell 脚本中向文件中添加一行?

这是我使用的代码

printf '0a\n%s\n.\nw\n',$header, | ed "./runtime/"$outputFileName

我从另一个文件中获得了 $header 的值

"header 1","header 2","header 3"

执行脚本后,当我检查输出文件的第一行时,只包含这一行

1","header

如何使整行添加到输出文件中?请帮忙。提前致谢。

PS:我使用的是 Sun Solaris

4

1 回答 1

4

请务必正确使用 printf。(1) 引用标题 (2) 用空格分隔参数

echo '"header 1","header 2","header 3"' > test.txt
header="$(cat header.txt)"
printf '0a\n%s\n.\nw\n' "$header"

结果是

0a
"header 1","header 2","header 3"
.
w
于 2012-11-12T07:39:21.353 回答