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

分享于 

2分钟阅读

电脑

  繁體 雙語

问题:

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


回答 1:

使用输出重定向


echo '<fruit>'> foo.xml # overwrites


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


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



或者使用here这里文档""


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





相关文章