\n within regex gets replaced with new line by AppleScript Editor

Discussion in 'Mac Programming' started by johannnn, Jun 27, 2012.

  1. johannnn macrumors 6502a

    johannnn

    Joined:
    Nov 20, 2009
    Location:
    Sweden
    #1
    I am trying to set up an applescript that removes all the empty lines from my clipboard. I came up with this script

    Code:
    do shell script "pbpaste | sed 's/^\n//' | pbcopy"
    I have tried the regex s/^\n// with a perl one-liner and it works fine.

    However, every time I try to compile the applescript in the AppleScript Editor I get

    Code:
    do shell script "pbpaste | sed 's/^
    //' | pbcopy"
    The \n is removed and replaced with a blank line, and the script will not work.

    How do I get this to work? :confused:

    Thanks
     
  2. johannnn thread starter macrumors 6502a

    johannnn

    Joined:
    Nov 20, 2009
    Location:
    Sweden
    #3
    The script seems to do nothing when I do \\n.

    (To try, copy something with a blank line, add the script to AppleScript Editor and run it, and then paste your clipboard and see if the blank line is gone)
     
  3. kryten2 macrumors 6502a

    Joined:
    Mar 17, 2012
    Location:
    Belgium
    #4
    Go to preferences-->Editing and check Escape tabs and line breaks in strings
     

    Attached Files:

  4. johannnn thread starter macrumors 6502a

    johannnn

    Joined:
    Nov 20, 2009
    Location:
    Sweden
    #5
    Thanks that did the trick!

    Although, for some reason my clipboard is empty after running the script, makes no sense. Oh well another night at google
     
  5. kryten2 macrumors 6502a

    Joined:
    Mar 17, 2012
    Location:
    Belgium
    #6
    Try this :

    Code:
    pbpaste | sed '/^$/d' | pbcopy
     

    Attached Files:

  6. johannnn thread starter macrumors 6502a

    johannnn

    Joined:
    Nov 20, 2009
    Location:
    Sweden
    #7
    kryten2 I love you.
     
  7. kryten2 macrumors 6502a

    Joined:
    Mar 17, 2012
    Location:
    Belgium

Share This Page