<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Hallo Jonathan, <br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
I haven't used it for a while, but I can remember a customer, where we masked "all" special characters with
<span style="font-family:monospace"><span style="font-weight: bold; color: rgb(255, 84, 84); background-color: rgb(255, 255, 255);" class="ContentPasted0">ESCAPE</span><br>
</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
In fact, as far as I remember.. this was an iterative progress ... 😉 😉 <br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
You're right, the doc's are not really self-explaining here.. <br>
</div>
<div class="elementToProof">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="Signature">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
from my personal notes I found a litte better example:</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<p class="ContentPasted1">In GPFS 3.5 we introduce an (optional) ESCAPE clause to the EXTERNAL LIST and EXTERNAL POOL rules, which allow the user-administrator to specify that path names and SHOW(strings) within the associated file lists are encoded using an
encoding based on the RFC3986 URI-percent-encoding scheme. For example:</p>
<p><font class="ContentPasted1" face="courier new,courier">RULE 'xp' EXTERNAL POOL 'pool-name' EXEC 'script-name' ESCAPE '%'</font></p>
<p><font class="ContentPasted1" face="courier new,courier">RULE 'xl' EXTERNAL LIST 'list-name' EXEC 'script-name' ESCAPE '%/+@#'</font></p>
<br>
</div>
<div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<p class="ContentPasted2">ESCAPE '%' specifies that all characters except the "unreserved" characters in the set a-zA-Z0-9-_.~ are encoded as %XX where XX comprises 2 hexadecimal digits. The GPFS ESCAPE clause allows you to add to the set of "unreserved" characters.</p>
<p class="ContentPasted2 ContentPasted4">For example, ESCAPE '%/+@#', specifies that none of the characters in "/+@#" are escaped, so that a path name like "/root/directory/@abc+def#ghi.jkl" will appear in a file list with no escape sequences, whereas under
ESCAPE '%', specifying a rigorous RFC3986 encoding yields "%2Froot%2Fdirectory%2F%40abc%2Bdef%23ghi.jkl".<br>
</p>
<p class="ContentPasted2"><br>
</p>
<p class="ContentPasted2 ContentPasted3">at least for us, it was doing the trick (back then) by using ESCAPE..<br>
</p>
<p class="ContentPasted2 ContentPasted3">Maybe it is useful for your case here as well</p>
<p class="ContentPasted2 ContentPasted3"><br>
</p>
<p class="ContentPasted2 ContentPasted3">cheers</p>
<p class="ContentPasted2 ContentPasted3">laff<br>
</p>
</div>
</div>
</div>
</div>
<div id="appendonsend"></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size: 11pt; color: rgb(0, 0, 0);" face="Calibri, sans-serif"><b>Von:</b> gpfsug-discuss <gpfsug-discuss-bounces@gpfsug.org> im Auftrag von Jonathan Buzzard <jonathan.buzzard@strath.ac.uk><br>
<b>Gesendet:</b> Donnerstag, 6. Juli 2023 00:20<br>
<b>An:</b> gpfsug main discussion list <gpfsug-discuss@gpfsug.org><br>
<b>Betreff:</b> [EXTERNAL] [gpfsug-discuss] Special characters in filenames</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText"><br>
After another support incident that eventually transpired to be down to <br>
the user using what I will call stupid characters in their filenames (we <br>
include a section on not doing this in our mandatory training so no <br>
excuse) I have been musing on using the policy engine to periodically <br>
produce lists of files that have stupid characters in their filenames so <br>
we can proactively educate the users and get them to rename their files <br>
to something sensible :-)<br>
<br>
The issue is of course the stupid characters include all the regular <br>
expression wildcard characters in addition to \n, \r and backticks. I am <br>
coming up short on escaping them correctly in REGEX() for the policy engine.<br>
<br>
The documentation appears to be devoid of help on the subject, because <br>
of course only an fool would be including these characters in their <br>
filenames...<br>
<br>
Anyone any idea on how to do this?<br>
<br>
<br>
JAB.<br>
<br>
-- <br>
Jonathan A. Buzzard Tel: +44141-5483420<br>
HPC System Administrator, ARCHIE-WeSt.<br>
University of Strathclyde, John Anderson Building, Glasgow. G4 0NG<br>
<br>
_______________________________________________<br>
gpfsug-discuss mailing list<br>
gpfsug-discuss at gpfsug.org<br>
<a href="http://gpfsug.org/mailman/listinfo/gpfsug-discuss_gpfsug.org" data-auth="NotApplicable">http://gpfsug.org/mailman/listinfo/gpfsug-discuss_gpfsug.org</a>
<br>
</div>
</span></font></div>
</body>
</html>