1

我有一个文件夹,其中包含大约 2000 个文本文件。

在每个文件的顶部,我需要添加这两行:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

在每个文件的底部,我需要添加:

</urlset>

有没有办法通过命令行一次在所有文件中大规模执行此操作?

提前致谢!

4

2 回答 2

4
$ cat header 
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

$ cat footer 
</urlset>

$ cat header file footer
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
one line
</urlset>

要将上述内容包装在 bash 循环中:

for f in *.xml; do cat header $f footer > tmp && mv tmp $f; done
于 2013-02-19T21:46:27.373 回答
1

使用单线:

sed -i -e '1 i <?xml version="1.0" encoding="UTF-8"?>\n<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' -e '$s@$@\n</urlset>@'  *.xml
于 2013-02-19T21:54:46.833 回答