Sunday, October 26, 2014

#1 2004-07-13 08:58:11 am

Trash Man
Sanitation Department
Registered: 2005-10-20
Posts: 5336

Escaping Unix special characters from 'POSIX Path' command

Apple's "POSIX Path of..." command doesn't 'escape' any of the special Unix characters when it returns the path to you. This means if you try to use that file path in a shell script, it just might fail if the path contains any special characters (like a space, etc.).

This script assumes you are passing it a unix file path and escapes the special characters with a \ character.


OS version: OS X

Applescript:

------------------------------------------------------------------------------------------------------
-- escape_string
--
-- [Colin A. Foster <cfoster@frozenheads.com>, 2004.07.13]
------------------------------------------------------------------------------------------------------

on escape_string(input_string)
   
   set output_string to ""
   set escapable_characters to " !#^$%&*?()={}[]'`~|;<>\"\\"
   
   repeat with chr in input_string
       
       if (escapable_characters contains chr) then
           set output_string to output_string & "\\" -- This actually adds ONE \ to the string.
       else if (chr is equal to "/") then
           set output_string to output_string & ":" -- Swap file system delimiters
       end if
       
       set output_string to output_string & chr
       
   end repeat
   
   return output_string as text
   
end escape_string


One mans trash is another mans treasure

Offline

 

Board footer

Powered by FluxBB

[ Generated in 0.064 seconds, 8 queries executed ]

RSS (new topics) RSS (active topics)