• mogoh@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    28 days ago

    Which one of these commands is correct?

    A: sed -E 's/\b(\w+)\b/echo \1 | rev/g' file.txt
    B: sed 's/\b\w+\b/echo & | rev/ge' file.txt
    C: sed -E 's/(\w+)/$(echo \1 | rev)/g' file.txt
    D: sed 's/\([a-zA-Z]\+\)/\n&\n/g; s/\n\(.*\)\n/\3\2\1/g; s/\n//g' file.txt

    Chatty was so kind to transcribe. May contain errors.

    • alienghic@slrpnk.net
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      19 days ago

      The transcription of D is wrong. It should be:

      sed ‘s/([a-zA-Z]+)/\n&\n/g; s/\n(.)(.*)(.)\n/\3\2\1/g; s/\n//g’ file.txt

      also D is correct, assuming file.txt contains a list of words one per line

    • Onno (VK6FLAB)@lemmy.radio
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      28 days ago

      Google Lens says:

      Which one of these commands is correct?
      
      A sed -e 's/\b(\w+)\b/echo \1 | rev/g' file.txt
      
      B: sed 's/b\w+\b/echo & | rev/ge' file.txt
      
      Csed -e 's/(\w+)/$(echo \1 | rev)/g' file.txt
      
      D: sed 's/([a-zA-Z]\+\)/\n&\n/g; s/\n\(\)\(.*\)\(\)\n/\3\2\1/g; s/\n//g' file.tx
      

      It’s interesting that Google doesn’t even get all the text. I had to manually extend the selection and that still misses the “t” on the end of answer D, munches C and more alarmingly changes the case for “-E”.