タグ付けされた質問 「xml」

1
Vim:XMLテキストを「きれい」にする
viXMLテキストを「きれい」にする簡単な方法はありますか? 例えば: これ欲しい.. <person> <name>Nick</name> <age>26</age> <gender>male</gender> <occupation>doctor</occupation> </person> これになるために... <person> <name>Nick</name> <age>26</age> <gender>male</gender> <occupation>doctor</occupation> </person>

2
「」を含む文字列内に変数を挿入する方法は?
変数を挿入してxml文字列を作成したい: str1="Hello" str2="world" xml='<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>' echo $xml 結果は <?xml version="1.0" encoding="iso-8859-1"?><tag1>Hello</tag1><tag2>world</tag2> しかし、私が得るのは: <?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2> 私も試しました xml="<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>" しかし、それは内側の二重引用符を削除し、以下を与えます: <?xml version=1.0 encoding=iso-8859-1?><tag1>hello</tag1><tag2>world</tag2>
25 bash  shell  variable  xml 

1
テキストをsedで置き換え、元のテキストの一部を保持する
変換しようとしています <id>1</id> <Name>ENTERPRISE RESOURCE PLANNING</Name> に: <column name="id">1</column> <column name="Name">ENTERPRISE RESOURCE PLANNING</column> 仕事に最適なツールはになるsedと思いますが、元のテキストの一部を置換部分に保持する方法がわかりません。 私が行った場合: $ sed -i 's/<.*>.*<.*>/<column name="\\1">\\2<\/column>/g' filename.xml 出力は次のとおりです。 <column name="\1">\2</column> <column name="\1">\2</column> または、内から同様のことを行いvi、出力します: <column name=""></column> <column name=""></column> どのように私はそれがそうすることを作ることができる\1とは、\2元の値に戻って置換されていますか?

7
patchとdiffを使用して2つのファイルをマージし、競合を自動的に解決する方法
diffとパッチについて読んだことがありますが、必要なものを適用する方法がわかりません。私はかなり簡単だと思うので、私の問題を示すためにこれらの2つのファイルを取ります: a.xml <resources> <color name="same_in_b">#AAABBB</color> <color name="not_in_b">#AAAAAA</color> <color name="in_b_but_different_val">#AAAAAA</color> <color name="not_in_b_too">#AAAAAA</color> </resources> b.xml <resources> <color name="same_in_b">#AAABBB</color> <color name="in_b_but_different_val">#BBBBBB</color> <color name="not_in_a">#AAAAAA</color> </resources> 次のような出力が必要です(順序は関係ありません)。 <resources> <color name="same_in_b">#AAABBB</color> <color name="not_in_b">#AAAAAA</color> <color name="in_b_but_different_val">#BBBBBB</color> <color name="not_in_b_too">#AAAAAA</color> <color name="not_in_a">#AAAAAA</color> </resources> マージには、次の単純なルールに沿ったすべての行が含まれている必要があります。 ファイルの1つにのみある任意の行 行の名前タグが同じで値が異なる場合、2番目の値を取得します 私はこのタスクをbashスクリプト内に適用したいので、別のプログラムがより適している場合は、diffとパッチを完全に行う必要はありません

7
XMLを解析してbashスクリプトでノード値を取得しますか?
次のパスを使用してノードの値を取得する方法を知りたいです。 config/global/resources/default_setup/connection/host config/global/resources/default_setup/connection/username config/global/resources/default_setup/connection/password config/global/resources/default_setup/connection/dbname 次のXMLから: <?xml version="1.0"?> <config> <global> <install> <date><![CDATA[Tue, 11 Dec 2012 12:31:25 +0000]]></date> </install> <crypt> <key><![CDATA[70e75d7969b900b696785f2f81ecb430]]></key> </crypt> <disable_local_modules>false</disable_local_modules> <resources> <db> <table_prefix><![CDATA[]]></table_prefix> </db> <default_setup> <connection> <host><![CDATA[localhost]]></host> <username><![CDATA[root]]></username> <password><![CDATA[pass123]]></password> <dbname><![CDATA[testdb]]></dbname> <initStatements><![CDATA[SET NAMES utf8]]></initStatements> <model><![CDATA[mysql4]]></model> <type><![CDATA[pdo_mysql]]></type> <pdoType><![CDATA[]]></pdoType> <active>1</active> </connection> </default_setup> </resources> <session_save><![CDATA[files]]></session_save> </global> <admin> <routers> <adminhtml> <args> <frontName><![CDATA[admin]]></frontName> </args> …


2
多数のXMLファイルの再フォーマット
ネストされたディレクトリ構造全体に散在する多数のXMLファイルを操作しています。 私は以下を試しました: $ find . -name "*.xml" -type f | xargs -- xmllint --format 問題は、フォーマットされたXML出力を画面に生成しますが、ファイルを変更しないことです。 このコマンドを変更して、実際のファイルの内容を変更するにはどうすればよいですか?
11 find  xargs  xml 

2
XMLコマンドライン(シェルスクリプト)の操作
シェルスクリプトのコマンドラインからXMLを操作する方法 表形式のデータを操作したり、環境変数を置き換えたり、テキストフラグメントを正規表現に置き換えたりするためのコマンドはたくさんありますが、XMLについては何も見つかりませんでした。 私のビルドスクリプトは、xmlドキュメントのメインタグ内にコンテンツを含むタグを挿入する必要があり、その目的でOSにjava、perl、またはpythonをインストールするのはやり過ぎです(私のスクリプトは、Dockerイメージを使用してgitlabで行われるため、 maven:3.5-jdk-8画像で利用できるツールでの私の仕事は夢でしょう)。 私のビルドスクリプトで、それが仕事だろうが、それはだから、私は、sedを持つXMLを操作したくない悪。 例:次のxmlがあります。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <!-- a lot of other tags--> </project> そして、私は次のブロックを挿入したいと思います: <distributionManagement> <repository> <id>private-releases</id> <url>https://my.private.server.com/nexus/repository/maven-releases/</url> </repository> </distributionManagement> プロジェクトタグの内部(そして、それが最初にあるか最後にあるかは完全に問題ではありません。

3
異なる行に同じデータを持つ2つのxmlファイルを比較する方法
2つのファイルのデータは同じですが、行が異なります。 ファイル1: <Identities> <Identity> <Id>048206031415072010Comcast.USR8JR</Id> <UID>ccp_test_79</UID> <DisplayName>JOSH CCP</DisplayName> <FirstName>JOSH</FirstName> <LastName>CCP</LastName> <Role>P</Role> <LoginStatus>C</LoginStatus> </Identity> <Identity> <Id>089612381523032011Comcast.USR1JR</Id> <UID>94701_account1</UID> <DisplayName>account1</DisplayName> <FirstName>account1</FirstName> <LastName>94701</LastName> <Role>S</Role> <LoginStatus>C</LoginStatus> </Identity> </Identities> ファイル2: <Identities> <Identity> <Id>089612381523032011Comcast.USR1JR</Id> <UID>94701_account1</UID> <DisplayName>account1</DisplayName> <FirstName>account1</FirstName> <LastName>94701</LastName> <Role>S</Role> <LoginStatus>C</LoginStatus> </Identity> <Identity> <Id>048206031415072010Comcast.USR8JR</Id> <UID>ccp_test_79</UID> <DisplayName>JOSH CCP</DisplayName> <FirstName>JOSH</FirstName> <LastName>CCP</LastName> <Role>P</Role> <LoginStatus>C</LoginStatus> </Identity> </Identities> diff file1 file2コマンドを使用すると、以下の応答が得られます。 1,10d0 < …

2
コマンドラインユーティリティを使用して、UNIXでXML、JSON、および新しいデータファイル形式を解析する
Unix環境には、さまざまな形式のテキストを解析するための優れたツールがいくつかあります。ただし、最近のデータは、以前のような従来の(履歴)形式(CSV、TSV、レコードベース、またはその他の区切り文字ベース)ではありません。最近のデータは、XML / JSONなどの構造化フォーマットで交換されます。 sed、awk、Perlのような、ほとんどすべての形式のデータを削除できる優れたツールがあることは知っています。ただし、この種の構造化データを操作するには、多くの場合、完全なプログラムを作成する必要があり、情報を抽出するために利用できる少しの時間を考えると、座ってクエリしたいロジック全体を理解する必要があります。プログラムでそれをダウンさせます。時々、これは大丈夫ではありません–基本的にそれらのファイルから抽出された情報がさらなる作業のための入力として機能するためです。また、適切なソリューションを検索してコーディングするのに時間がかかるためです。データを検索、クエリ、およびダンプするための十分なスイッチを備えたコマンドラインツールが必要です。 XML / JSONまたは他の形式の構造化データを取得し、csvなどの他の形式にダンプして、そこから他のコマンドを使用して情報を取得できるツールを探しています。 あなたが知っている、この種の仕事をするコマンドラインユーティリティはありますか?これに利用可能なawk / Perlスクリプトはすでにありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.