I am trying to write my first script which is for modify file name in /var/home/lab directory. for example, there are two files in this directory:
_juniper.conf.gz_20120215_092212
_juniper.conf.gz_20120215_092732
I want to use jcs:split function to separate them and use the number part of the filename instead the original filename. however I'm failed. The error code I pasted below.
version 1.0;
ns junos = "http://xml.juniper.net/junos/*/junos";
ns xnm = "http://xml.juniper.net/xnm/1.1/xnm";
ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0";
import "../import/junos.xsl";
match/{
<op-script-results> {
var $rpc = <file-list> {
<path>"/var/home/lab";
}
var $out = jcs:invoke($rpc);
for-each (directory-list/directory name/file-information){
<output>file-name;
var $filename=file-name;
var $postfix=jcs:split("_",$filename);
rename $filename $postfix;
}
}
}
hostname> op rename
error: ^
error: /var/db/scripts/op/rename.slax:19: error: /var/db/scripts/op/rename.slax:18: parse error, unexpected T_BARE before 'rename':
error: ^
error: /var/db/scripts/op/rename.slax:21: error: /var/db/scripts/op/rename.slax:20: parse error, unexpected L_CBRACE before '}':
error: ^
error: error: /var/db/scripts/op/rename.slax: 3 errors detected during parsing
error: error reading stylesheet: rename.slax
error: /var/db/scripts/op/rename.slax:15: error: /var/db/scripts/op/rename.slax:14: parse error, unexpected T_BARE, expecting L_CPAREN before 'name':
error: ^
error: /var/db/scripts/op/rename.slax:19: error: /var/db/scripts/op/rename.slax:18: parse error, unexpected T_BARE before 'rename':
error: ^
error: /var/db/scripts/op/rename.slax:21: error: /var/db/scripts/op/rename.slax:20: parse error, unexpected L_CBRACE before '}':
error: ^
error: error: /var/db/scripts/op/rename.slax: 3 errors detected during parsing
error: error reading stylesheet: rename.slax