[augeas-devel] Yet more novice questions, Re: path expression question
Patrick Spinler
spinler.patrick at mayo.edu
Mon Sep 30 21:25:40 UTC 2013
Apologies for asking yet another novice question, but if I may, please?
I'd like to construct an expression to match any iptables nodes with a
dport = <specific value>. Here's an example:
augtool> print /files/etc/sysconfig/iptables/table/append[28]
/files/etc/sysconfig/iptables/table/append[28] = "Mayo-Firewall-INPUT"
/files/etc/sysconfig/iptables/table/append[28]/protocol = "tcp"
/files/etc/sysconfig/iptables/table/append[28]/match = "tcp"
/files/etc/sysconfig/iptables/table/append[28]/dport = "21"
/files/etc/sysconfig/iptables/table/append[28]/jump = "ACCEPT"
So, I thought I'd just have to say somethine like
match .../append[*]/*[dport = 'XXXX']
but I'm not finding what I expect:
augtool> match /files/etc/sysconfig/iptables/table/append[*]/*[dport = "21"]
(no matches)
augtool> match /files/etc/sysconfig/iptables/table/*/*[dport = "21"]
(no matches)
augtool> match /files/etc/sysconfig/iptables/table/*/*["dport" = "21"]
(no matches)
augtool> match /files/etc/sysconfig/iptables/table/append[28]/*["dport"
= "21"]
(no matches)
Guidance, please? (And yes, I have read over the examples in the "Path
Expressions" page on the hercules-team/augeas Wiki).
Apologies for the questions,
-- Pat
On 9/30/13 3:48 PM, Patrick Spinler wrote:
>
> Fantastic, and thank you! This did indeed do the trick. :-)
>
> insert append before "/files/etc/sysconfig/iptables/table/append[. =
> 'Mayo-Firewall-INPUT'][1]"
>
> Thank you muchly for your patience with my novice questions. :-)
>
> -- Pat
>
> On 9/30/13 3:31 PM, Raphaël Pinson wrote:
>> Hi Pat,
>>
>>
>> You need to select the first node matching your expression, by filtering
>> a second time:
>>
>> insert append before "/files/etc/sysconfig/
>> iptables/table/append[position(. =
>> 'Mayo-Firewall-INPUT')][1]"
>>
>>
>> Regards,
>>
>> Raphaël
>>
>>
>>
>> On Mon, Sep 30, 2013 at 9:54 PM, Patrick Spinler
>> <spinler.patrick at mayo.edu <mailto:spinler.patrick at mayo.edu>> wrote:
>>
>>
>> Okay, so I have a structure like this:
>>
>> augtool> ls "/files/etc/sysconfig/iptables/table/"
>> chain[1]/ = INPUT
>> chain[2]/ = FORWARD
>> chain[3]/ = OUTPUT
>> chain[4]/ = Mayo-Firewall-INPUT
>> append[1]/ = INPUT
>> append[2]/ = INPUT
>> append[3]/ = INPUT
>> append[4]/ = INPUT
>> append[5]/ = INPUT
>> append[6]/ = INPUT
>> append[7]/ = FORWARD
>> append[8]/ = Mayo-Firewall-INPUT
>> append[9]/ = Mayo-Firewall-INPUT
>> append[10]/ = Mayo-Firewall-INPUT
>> (...snip...)
>> append[27]/ = Mayo-Firewall-INPUT
>> append[28]/ = Mayo-Firewall-INPUT
>> append[29]/ = Mayo-Firewall-INPUT
>>
>> I'd like to insert a new node immediately before the first
>>
>> append[. = 'Mayo-Firewall-INPUT']
>>
>> node, that is, in this case, before append[8]. However, that position
>> in the tree, [8], is obviously not constant.
>>
>> How might I do this?
>>
>> I've tried expressions like this:
>>
>> augtool> insert append before
>> "/files/etc/sysconfig/iptables/table/append[. = 'Mayo-Firewall-INPUT']"
>> error: Too many matches for path expression
>>
>> and expressions involving [position(...)], like this
>>
>> augtool> insert append before
>> "/files/etc/sysconfig/iptables/table/append[position(. =
>> 'Mayo-Firewall-INPUT')]"
>> error: Invalid path expression
>>
>>
>> which obviously both fail. Thoughts?
>>
>> Thanks,
>> -- Pat
>>
>> _______________________________________________
>> augeas-devel mailing list
>> augeas-devel at redhat.com <mailto:augeas-devel at redhat.com>
>> https://www.redhat.com/mailman/listinfo/augeas-devel
>>
>>
>>
>>
>> --
>> Raphaël Pinson
>> Infrastructure Developer & Trainer
>> +33 479 26 57 93
>> +33 781 90 00 79
>>
>> Camptocamp France
>> Savoie Technolac
>> BP 352
>> 48, avenue du Lac du Bourget
>> 73372 Le Bourget du Lac, Cedex
>> www.camptocamp.com <http://www.camptocamp.com>
>
> _______________________________________________
> augeas-devel mailing list
> augeas-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/augeas-devel
>
More information about the augeas-devel
mailing list