相关疑难解决方法(0)

如何从shell执行XPath单行程序?

对于Ubuntu和/或CentOS,是否有一个包,它有一个命令行工具,可以执行XPath单线程,foo //element@attribute filename.xml或者foo //element@attribute < filename.xml逐行返回结果?

我正在寻找一些可以让我只是apt-get install foo或者yum install foo然后只是开箱即用,没有包装或其他必要的改编的东西.

以下是一些接近的事例:

引入nokogiri.如果我写这个包装器,我可以用上面描述的方式调用包装器:

#!/usr/bin/ruby

require 'nokogiri'

Nokogiri::XML(STDIN).xpath(ARGV[0]).each do |row|
  puts row
end
Run Code Online (Sandbox Code Playgroud)

XML :: XPath的.可以使用这个包装器:

#!/usr/bin/perl

use strict;
use warnings;
use XML::XPath;

my $root = XML::XPath->new(ioref => 'STDIN');
for my $node ($root->find($ARGV[0])->get_nodelist) {
  print($node->getData, "\n");
}
Run Code Online (Sandbox Code Playgroud)

xpath来自XML :: XPath返回太多噪音,-- NODE --attribute = "value".

xml_grep 来自XML :: Twig无法处理不返回元素的表达式,因此无法在不进一步处理的情况下提取属性值.

编辑:

echo cat //element/@attribute | xmllint --shell filename.xml返回类似的噪音xpath …

xml shell xpath cross-platform

182
推荐指数
7
解决办法
12万
查看次数

如何使用shellscript解析XML?

我想知道使用shellscript解析XML文件的最佳方法是什么?

  • 一个人应该手工做吗?
  • 第三层库是否存在?

如果你已经成功了,如果你能让我知道你是怎么做到的

linux bash shell

60
推荐指数
7
解决办法
20万
查看次数

如何从Unix命令行中删除XML标签?

我正在使用XML文件,它给出了这样的输出:

<tag>data</tag>
<tag>more data</tag>
...
Run Code Online (Sandbox Code Playgroud)

注意,这是一个平面文件,而不是XML树.我想删除XML标记,只显示其间的数据.我正在从命令行执行所有这些操作,并且想知道是否有更好的方法,而不是将其连接到awk两次...

cat file.xml | awk -F'>' '{print $2}' | awk -F'<' '{print $1}'
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想在一个命令中执行此操作

xml unix shell command-line xml-parsing

18
推荐指数
1
解决办法
3万
查看次数

Bash脚本循环通过MySQL

我需要一个可以从远程数据库中检索MySQL数据的bash脚本.实际上我已经完成了,但我现在要做的是以某种方式遍历记录并将变量传递给另一个bash文件.这是我的MySQL调用:

mysql -X -u $MyUSER -p$MyPASS -h$MyHOST -D$MyDB -e'SELECT `theme_name`, `guid` FROM `themes` WHERE `theme_purchased`="1" AND `theme_compiled`='0';' > themes.xml
download_themes.sh
Run Code Online (Sandbox Code Playgroud)

它现在将数据导出到一个名为theme.xml的xml文件中,我只想弄清楚循环数据的方法.我试图避免PHP和perl,只是尝试使用bash.提前致谢.

mysql bash loops

16
推荐指数
3
解决办法
4万
查看次数

是否有类似"CSS选择器"或XPath grep的东西?

我需要找到一堆HTML文件中的所有位置,它们位于以下结构(CSS)中:

div.a ul.b
Run Code Online (Sandbox Code Playgroud)

或XPath:

//div[@class="a"]//div[@class="b"]
Run Code Online (Sandbox Code Playgroud)

grep在这里没有帮助我.是否有一个命令行工具可以返回符合此标准的所有文件(以及可选的所有位置)?即,如果文件与某个HTML或XML结构匹配,则返回文件名.

html xml grep selector findinfiles

15
推荐指数
3
解决办法
3608
查看次数

从unix命令行执行基本xml解析的最简单方法

我正在搜索具有某些属性的xml文件.例如,包含以下模式的文件:

<param-value>
  <name>Hosts</name>
  <description>some description</description>
  <value></value>
</param-value>
Run Code Online (Sandbox Code Playgroud)

对于这样的文件,我想解析另一个标记的值,例如:

<param-value>
  <name>Roles</name>
  <description>some description</description>
  <value>asdf</value>
</param-value>
Run Code Online (Sandbox Code Playgroud)

并打印出文件名和"asdf".从命令行完成此操作的最简单方法是什么?

我想到的一种方法是使用带有-l选项的grep来过滤匹配的文件,然后使用xargs grep来提取Roles的值.但是,grep不适用于多行正则表达式.我看到另一个问题表明它可以用-Pzo选项完成,但是没有任何运气让它在我的情况下工作.有更简单的方法吗?

xml unix perl awk grep

10
推荐指数
2
解决办法
2万
查看次数

如何在pom中查找未使用的属性

在继承maven项目之后,我想检查未使用的属性并将其删除.

我不想采取的一种方法是逐个删除它们,看看构建失败.另一种方法是使用自定义脚本计算整个代码库中的出现次数(以确保过滤器和资源的属性不会被错误地视为未使用).在我这样做之前,我想确保我不会重新发明轮子.

有一种方法可以为这里解释的依赖项做到这一点.
我错过了哪些属性类似的东西?还是更好的方法?

谢谢

我正在使用maven 3.0.3

java maven-plugin maven-3 maven

5
推荐指数
1
解决办法
1460
查看次数

BASH:找到第一个字符串后在文件中找到一个字符串

请多多包涵...

我有一个大的xml文件,我需要找到一个字符串"JOBNAME = 9027",然后找到包含"TASKTYPE"后面的行并更改该行.

所以我必须更改JOBNAME = 9027之后的TASKTYPE行.有几百个JOBNAME和TASKTYPE线,所有线的数量都不相同.

我试过sed,awk和bash无济于事.我确信有办法做到这一点,但它正在逃避我.

例:

JOBNAME="MYSAP#SDOR-SG-D-LATECODED-0927"
            JUL="1"
            JUN="1"
            MAR="1"
            MAXDAYS="0"
            MAXRERUN="0"
            MAXRUNS="0"
            MAXWAIT="0"
            MAY="1"
            MULTY_AGENT="N"
            NODEID="sappr2"
            NOV="1"
            OCT="1"
            PARENT_FOLDER="MYSAP#SSDOR-D-SG-LATECODED-0927"
            PRIORITY="10"
            RETRO="0"
            RULE_BASED_CALENDAR_RELATIONSHIP="O"
            RUN_AS="MYSAP"
            SEP="1"
            SHIFT="Ignore Job"
            SHIFTNUM="+00"
            SUB_APPLICATION="MYSAP"
            SYSDB="0"
            TASKTYPE="Job"
Run Code Online (Sandbox Code Playgroud)

bash sed

2
推荐指数
1
解决办法
42
查看次数