小编Gil*_*not的帖子

xml_grep从element获取属性

是否有可能(如果是这样,如何)使用xml_grep从特定元素获取特定属性的值?我似乎只能在标签之间输出信息.

例:

    <eid>
       <identity nationalnumber="13021912354" dateofbirth="20130219" gender="male">
          <name>Menten</name>
          <firstname>Kasper</firstname>
          <middlenames>Marie J</middlenames>
          <nationality>Belg</nationality>
          <placeofbirth>Sint-Truiden</placeofbirth>
          <photo>base64-string</photo>
       </identity>
    </eid>
Run Code Online (Sandbox Code Playgroud)

从'identity'元素输出'nationalnumber'属性的值(在本例中为:13021912354)

xml linux command-line grep xmllint

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

perl脚本中的读写操作

我是Perl剧本的新手.

我想对文件进行读写操作.我将以读写模式(+ <)打开文件,并写入文件.现在,我想读取以前写过的文件.以下是我的代码:

#!/usr/bin/perl

`touch file.txt`; #Create a file as opening the file in +< mode
open (OUTFILE, "+<file.txt") or die "Can't open file : $!";

print OUTFILE "Hello, welcome to File handling operations in perl\n"; #write into the file

$line = <OUTFILE>; #read from the file

print "$line\n"; #display the read contents.
Run Code Online (Sandbox Code Playgroud)

当我显示阅读内容时,它显示一个空白行.但是文件"file.txt"有数据

Hello, welcome to File handling operations in perl
Run Code Online (Sandbox Code Playgroud)

为什么我无法阅读内容.我的代码是错误的还是我错过了什么.

linux perl

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

复制文件后Wget不会退出

在我的Unix服务器上,我执行此命令以通过unix shell从folderc复制所有内容.

wget -r -nH --accept=ismv,ismc,ism,jpg --cut-dirs=5 --level=0 --directory-prefix="/root/sstest"  -o /root/sstest2.log http://site.com/foldera/folderb/folderc/
Run Code Online (Sandbox Code Playgroud)

来自folderc的所有内容实际上都复制到/ root/sstest.

wget复制和带我回到命令提示符后不退出.

什么可能导致这种行为?

unix wget

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

awk将值与输入进行比较

用户输入变量($ userinput)可以与值进行比较吗?

awk -F:  '$1 < $userinput { printf .... }'
Run Code Online (Sandbox Code Playgroud)

这个比较表达对我来说似乎没问题,但它给出了一个错误?

linux bash awk

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

Perl Regex为零或一个匹配

以下是两个字符串 -

12/31/2011 05:34:27;U;11.comp;host=win workgroup=home username=bob cmemory=1325133456 qmemory=1325133456 smemory=1325133456 uptime=1325289867 
12/31/2011 01:09:20;D;12.comp;host=win workgroup=home username=sam cmemory=1325151687 qmemory=1325151687 smemory=1325151687 uptime=1325228636  session=4677 downtime=1325270175 Exit_status=0
Run Code Online (Sandbox Code Playgroud)

从上面的字符串我要挑host,workgroup,username,uptimedowntime在Perl中使用正则表达式的值.

以下是我的Perl脚本 -

foreach $line (<FILE>) {
    if($line =~ m<\d{2}/\d{2}/\d{4}\s+\d{2}:\d{2}:\d{2};[U|D].*host=(\w+)\s+workgroup=(\w+)\s+hostname=(\w+)\s+.*uptime=(\d+)\s+.*(downtime=)?(\d*)>){
        my $host      = $1;
        my $workgroup = $2;
        my $hostname  = $3;
        my $uptime    = $4;
        my $downtime  = $5;
        print "host=$host workgroup=$workgroup hostname=$hostname uptime=$uptime downtime=$downtime\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

我面临的唯一问题是因为downtime.该属性可能不存在于该行中.我无法正确选择此字段.

regex perl

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

禁止 bash 中的警告输出

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
Run Code Online (Sandbox Code Playgroud)

我尝试添加 2>/dev/null、&>/dev/null 等,似乎没有什么可以抑制警告。

mysql bash ubuntu

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

用于更新xml值的脚本


我正在尝试使用AWK脚本根据条件对xml文件进行更新.有人可以帮我吗?

students.xml

<students>
    <student>
        <stuId>1</stuId>
        <name>A</name>
        <mark>75</mark>
        <result></result>
    </student>
    <student>
        <stuId>2</stuId>
        <name>B</name>
        <mark>35</mark>
        <result></result>
    </student>
    <student>
        <stuId>1</stuId>
        <name>C</name>
        <mark>94</mark>
        <result></result>
    </student>
</students>
Run Code Online (Sandbox Code Playgroud)

我到目前为止尝试的代码

我可以使用下面的代码提取标签值

BEGIN { RS="<[^>]+>" } 
{ print  RT, $0 }
Run Code Online (Sandbox Code Playgroud)

这将按预期打印所有标记和值.

我想更新<result>标记为通过,如果标记> 40别的失败

产量

<students>
    <student>
        <stuId>1</stuId>
        <name>A</name>
        <mark>75</mark>
        <result>pass</result>
    </student>
    <student>
        <stuId>2</stuId>
        <name>B</name>
        <mark>35</mark>
        <result>fail</result>
    </student>
    <student>
        <stuId>1</stuId>
        <name>C</name>
        <mark>94</mark>
        <result>pass</result>
    </student>
</students>
Run Code Online (Sandbox Code Playgroud)

有人能协助我吗?

xml linux xslt awk gawk

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

是否可以模拟按下“向下”箭头?

我试图找出如何发送Down,我试图与INT代码40Down字符串,但没有任何作品。

有没有适当的方法?看完后看不出来~/node_modules/puppeteer/lib/Input.js

const elementHandle = await page.$('selector');
await elementHandle.type('something');
await page.keyboard.press(40); // fail
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome-headless puppeteer

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

使用tr运算符删除perl的重音符号

我试图通过运行perl脚本来删除我的文本中的重音符号,其中我使用tr运算符(我发现的更简单的方法):

我试过了:

tr/àâäéèëêîïôöûùüç/aaaeeeeiioouuuc/;
Run Code Online (Sandbox Code Playgroud)

它删除了重音,但是我得到了'aa'而不是'a','ae'而不是'e'等字符.

unicode perl ascii

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

如何在命令行中使用带有Saxon-HE的XPath解析HTML?

我使用saxon HE 9.6,它非常适合在解析格式良好的XML文件时使用XPath 3.

但我想知道如何将expath-http-client(或任何其他工作解决方案)与Saxon结合起来,以便能够解析realLife©®™(可能已损坏)的HTML.(Java不是我更好的技能).

我搜索谷歌很多小时没有任何工作解决方案.我尝试过类似的东西:

xquery_file.xsl:

xquery version "1.0";

declare namespace http="http://expath.org/ns/http-client";

let $url := 'http://stackoverflow.com'
let $response := http:send-request(
   <http:request href="{$url}" method="get"/>
) return
    <echo-results>
        {$response}
    </echo-results>
Run Code Online (Sandbox Code Playgroud)

Shell命令取自expath-http-client-saxon-0.10.0的README

saxon --repo /usr/share/java/expath/repo -xsl:sample/simple-get.xsl -it:main
Run Code Online (Sandbox Code Playgroud)

要么

saxon --repo /usr/share/java/expath/repo -xsl:xquery_file.xsl -it:main
Run Code Online (Sandbox Code Playgroud)

没有成功.我明白了:Transformation failed: Unknown configuration property http://saxon.sf.net/feature/repo

理想情况下,我最终要做的是直接从命令行查询一个URL,而不是XQuery文件,而是一个XPath表达式(如果可能的话).我很确定那里的一些XML/Java/XPath专家有我正在寻找的解决方案.

/usr/share/java/expath/repo 包含:

/usr/share/java/expath/repo
??? expath-http-client-saxon-0.10.0
?   ??? cxan.xml
?   ??? expath-http-client-saxon
?   ?   ??? jar
?   ?   ?   ??? expath-http-client-java.jar
?   ?   ? …
Run Code Online (Sandbox Code Playgroud)

java xml xpath xquery saxon

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