What is the significance of -n parameter passed to sed command?

后端 未结 2 1102
庸人自扰
庸人自扰 2021-01-24 18:38

Can someone please tell me how does sed -n \'1!p work ? Below is the full command which I am using to sort my pods in k8s based on nodes they are assigned.

相关标签:
2条回答
  • 2021-01-24 18:55

    From info sed:

    -n: By default, 'sed' prints out the pattern space at the end of each cycle through the script (*note How 'sed' works: Execution Cycle.). These options disable this automatic printing, and 'sed' only produces output when explicitly told to via the 'p' command.

    1p: print first line

    1!p: do not print first line.

    0 讨论(0)
  • 2021-01-24 19:18

    By default, sed will output every line it parses.
    -n option is there to hide this output, and display only the lines specified with the p option.

    In your exemple, sed -n '1!p' means "Display every line but first".


    A more understandable example is when you want to search/replace with sed. If you want to see the whole resulting file you'll use this:

    sed 's/from/to/g' file.txt
    

    But if you only want to see which lines have been changed, use this:

    sed -n 's/from/to/gp' file.txt
    
    0 讨论(0)
提交回复
热议问题