我需要从源读取数据,并且必须使用 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