How to use the w command of sed and write to file?












1














Below is my testing. How can I fix the error?



ubuntu@u1804:~# sed --version
sed (GNU sed) 4.5
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Jay Fenlason, Tom Lord, Ken Pizzini,
and Paolo Bonzini.
GNU sed home page: <https://www.gnu.org/software/sed/>.
General help using GNU software: <https://www.gnu.org/gethelp/>.
E-mail bug reports to: <bug-sed@gnu.org>.
ubuntu@u1804:~#
ubuntu@u1804:~# cat test
11
aa
bb
cc
edde
xx
aa
bb
cc
edde
22
ubuntu@u1804:~# sed -r '/^[a-z]/{s/^.*$/(&)/; w result}' test
sed: -e expression #1, char 0: unmatched `{'
ubuntu@u1804:~#
ubuntu@u1804:~# sed -r '/^[a-z]/{s/^.*$/(&)/; p}' test
11
(aa)
(aa)
(bb)
(bb)
(cc)
(cc)
(edde)
(edde)
(xx)
(xx)
(aa)
(aa)
(bb)
(bb)
(cc)
(cc)
(edde)
(edde)
22
ubuntu@u1804:~#









share|improve this question



























    1














    Below is my testing. How can I fix the error?



    ubuntu@u1804:~# sed --version
    sed (GNU sed) 4.5
    Copyright (C) 2018 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

    Written by Jay Fenlason, Tom Lord, Ken Pizzini,
    and Paolo Bonzini.
    GNU sed home page: <https://www.gnu.org/software/sed/>.
    General help using GNU software: <https://www.gnu.org/gethelp/>.
    E-mail bug reports to: <bug-sed@gnu.org>.
    ubuntu@u1804:~#
    ubuntu@u1804:~# cat test
    11
    aa
    bb
    cc
    edde
    xx
    aa
    bb
    cc
    edde
    22
    ubuntu@u1804:~# sed -r '/^[a-z]/{s/^.*$/(&)/; w result}' test
    sed: -e expression #1, char 0: unmatched `{'
    ubuntu@u1804:~#
    ubuntu@u1804:~# sed -r '/^[a-z]/{s/^.*$/(&)/; p}' test
    11
    (aa)
    (aa)
    (bb)
    (bb)
    (cc)
    (cc)
    (edde)
    (edde)
    (xx)
    (xx)
    (aa)
    (aa)
    (bb)
    (bb)
    (cc)
    (cc)
    (edde)
    (edde)
    22
    ubuntu@u1804:~#









    share|improve this question

























      1












      1








      1







      Below is my testing. How can I fix the error?



      ubuntu@u1804:~# sed --version
      sed (GNU sed) 4.5
      Copyright (C) 2018 Free Software Foundation, Inc.
      License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.

      Written by Jay Fenlason, Tom Lord, Ken Pizzini,
      and Paolo Bonzini.
      GNU sed home page: <https://www.gnu.org/software/sed/>.
      General help using GNU software: <https://www.gnu.org/gethelp/>.
      E-mail bug reports to: <bug-sed@gnu.org>.
      ubuntu@u1804:~#
      ubuntu@u1804:~# cat test
      11
      aa
      bb
      cc
      edde
      xx
      aa
      bb
      cc
      edde
      22
      ubuntu@u1804:~# sed -r '/^[a-z]/{s/^.*$/(&)/; w result}' test
      sed: -e expression #1, char 0: unmatched `{'
      ubuntu@u1804:~#
      ubuntu@u1804:~# sed -r '/^[a-z]/{s/^.*$/(&)/; p}' test
      11
      (aa)
      (aa)
      (bb)
      (bb)
      (cc)
      (cc)
      (edde)
      (edde)
      (xx)
      (xx)
      (aa)
      (aa)
      (bb)
      (bb)
      (cc)
      (cc)
      (edde)
      (edde)
      22
      ubuntu@u1804:~#









      share|improve this question













      Below is my testing. How can I fix the error?



      ubuntu@u1804:~# sed --version
      sed (GNU sed) 4.5
      Copyright (C) 2018 Free Software Foundation, Inc.
      License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.

      Written by Jay Fenlason, Tom Lord, Ken Pizzini,
      and Paolo Bonzini.
      GNU sed home page: <https://www.gnu.org/software/sed/>.
      General help using GNU software: <https://www.gnu.org/gethelp/>.
      E-mail bug reports to: <bug-sed@gnu.org>.
      ubuntu@u1804:~#
      ubuntu@u1804:~# cat test
      11
      aa
      bb
      cc
      edde
      xx
      aa
      bb
      cc
      edde
      22
      ubuntu@u1804:~# sed -r '/^[a-z]/{s/^.*$/(&)/; w result}' test
      sed: -e expression #1, char 0: unmatched `{'
      ubuntu@u1804:~#
      ubuntu@u1804:~# sed -r '/^[a-z]/{s/^.*$/(&)/; p}' test
      11
      (aa)
      (aa)
      (bb)
      (bb)
      (cc)
      (cc)
      (edde)
      (edde)
      (xx)
      (xx)
      (aa)
      (aa)
      (bb)
      (bb)
      (cc)
      (cc)
      (edde)
      (edde)
      22
      ubuntu@u1804:~#






      sed






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 1 hour ago









      Ogrish Man

      4831415




      4831415






















          1 Answer
          1






          active

          oldest

          votes


















          2














          Check your working directory, you might have a file named result} created



          sed -r -e '/^[a-z]/{s/^.*$/(&)/; w result' -e '}' test


          There are different ways to work around, one of them is to use -e option to separate the commands. When w is used, all the characters after it is used for filename and hence why you got the error as { didn't have an ending pair



          Further reading: GNU sed manual: Commands Requiring a newline






          share|improve this answer

















          • 1




            Oh, yes. There is a file called result}. Thanks for your answer.
            – Ogrish Man
            59 mins ago











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "106"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f492812%2fhow-to-use-the-w-command-of-sed-and-write-to-file%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          2














          Check your working directory, you might have a file named result} created



          sed -r -e '/^[a-z]/{s/^.*$/(&)/; w result' -e '}' test


          There are different ways to work around, one of them is to use -e option to separate the commands. When w is used, all the characters after it is used for filename and hence why you got the error as { didn't have an ending pair



          Further reading: GNU sed manual: Commands Requiring a newline






          share|improve this answer

















          • 1




            Oh, yes. There is a file called result}. Thanks for your answer.
            – Ogrish Man
            59 mins ago
















          2














          Check your working directory, you might have a file named result} created



          sed -r -e '/^[a-z]/{s/^.*$/(&)/; w result' -e '}' test


          There are different ways to work around, one of them is to use -e option to separate the commands. When w is used, all the characters after it is used for filename and hence why you got the error as { didn't have an ending pair



          Further reading: GNU sed manual: Commands Requiring a newline






          share|improve this answer

















          • 1




            Oh, yes. There is a file called result}. Thanks for your answer.
            – Ogrish Man
            59 mins ago














          2












          2








          2






          Check your working directory, you might have a file named result} created



          sed -r -e '/^[a-z]/{s/^.*$/(&)/; w result' -e '}' test


          There are different ways to work around, one of them is to use -e option to separate the commands. When w is used, all the characters after it is used for filename and hence why you got the error as { didn't have an ending pair



          Further reading: GNU sed manual: Commands Requiring a newline






          share|improve this answer












          Check your working directory, you might have a file named result} created



          sed -r -e '/^[a-z]/{s/^.*$/(&)/; w result' -e '}' test


          There are different ways to work around, one of them is to use -e option to separate the commands. When w is used, all the characters after it is used for filename and hence why you got the error as { didn't have an ending pair



          Further reading: GNU sed manual: Commands Requiring a newline







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 1 hour ago









          Sundeep

          7,3211927




          7,3211927








          • 1




            Oh, yes. There is a file called result}. Thanks for your answer.
            – Ogrish Man
            59 mins ago














          • 1




            Oh, yes. There is a file called result}. Thanks for your answer.
            – Ogrish Man
            59 mins ago








          1




          1




          Oh, yes. There is a file called result}. Thanks for your answer.
          – Ogrish Man
          59 mins ago




          Oh, yes. There is a file called result}. Thanks for your answer.
          – Ogrish Man
          59 mins ago


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Unix & Linux Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f492812%2fhow-to-use-the-w-command-of-sed-and-write-to-file%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          CARDNET

          Boot-repair Failure: Unable to locate package grub-common:i386

          濃尾地震