如何在Linux中安装/设置XMLStarlet?

时间:2017-03-17 11:07:18

标签: xml linux shell xml-parsing xmlstarlet

我是Linux和shell脚本的新手;并且需要解析和查询xml。我成功地为Windows找到并使用了XML starlet。

但是,我的目标是通过shell脚本在Linux上运行。

有人可以分享在Linux上安装和配置 XMLStarlet 的步骤吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

对于Ubuntu:

sudo apt-get update
sudo apt-get install xmlstarlet

对于CentOS: 它存在于epel仓库中,下载该仓库并启用它

sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

确认是否启用

cd /etc/yum.repos.d
grep -re enabled=1

这应该显示

epel.repo:enabled=1

然后下载xmlstarlet

sudo yum -y install xmlstarlet

答案 1 :(得分:0)

如果您使用的是Ubuntu / Debian,请在终端中运行以下命令:

import requests, boto3
from django.views.generic import View
from django.http.response import HttpResponse

class MediaDownloadView(View):

    def get(self, request, *args, **kwargs):
        s3 = boto3.resource(
            service_name='s3', aws_access_key_id='XXX_AWS_ACCESS_KEY_ID',
            aws_secret_access_key='XXX_AWS_ACCESS_KEY',
        )
        url = s3.meta.client.generate_presigned_url(
            ClientMethod="get_object", ExpiresIn=3600,
            Params={
                "Bucket": 'XXX_BUCKET_NAME',
                "Key": 'XXX_OBJECT_KEY',
            },
        )
        r = requests.get(url=url, stream=True)
        r.raise_for_status()
        response = HttpResponse(r.raw, content_type='audio/mp3')
        response['Content-Disposition'] = 'inline; filename=music.mp3'
        return response

如果操作系统是Centos

sudo apt-get update
sudo apt-get install xmlstarlet

或从https://centos.pkgs.org/6/epel-x86_64/xmlstarlet-1.3.1-1.el6.x86_64.rpm.html

下载