如何使用 shell 脚本将多行写入文件?

如何使用 shell 脚本将多行写入文件?

我需要从源读取数据,并且必须使用 shell 脚本形成 XML 文件。但首先我不知道如何使用 shell 脚本在文件中写入多行

答案1

使用输出重定向

echo '<fruit>'    > foo.xml   # overwrites
echo ' <apple />' >> foo.xml  # appends
echo '</fruit>    >> foo.xml  # appends

或者使用“此处文档”

cat <<EndXML > foo.xml
<fruit>
 <apple />
</fruit>
EndXML

更好的方法是使用支持 XML 的脚本/编程语言。我喜欢 Perl 和 XML::LibXML,但您可能更喜欢其他语言。

答案2

下面创建一个名为“file.txt”的文件(如果文件已存在则替换其内容),并将“foo”(不带引号)写入其中:

echo "foo" > file.txt

您似乎在寻找以下内容,追加文件中的字符串“foo”(同样,不带引号)(如果文件不存在,则再次创建该文件)

echo "foo" >> file.txt

因此以下代码将向“file.txt”写入三行:

echo "foo" >> file.txt ; echo "bar" >> file.txt; echo "beer" >> file.txt

相关内容