有人可以解释为什么sed在执行'sed x file.txt'时会表现那样吗?

时间:2018-04-20 22:56:50

标签: linux sed

我刚刚发现,如果你按照以下方式使用sed,它将输出文件的内容。为什么会这样做?为什么它会这样做?

示例:

╭─hacker@HLKali  ~/scripts  
╰─$ cat foxsocks.txt  
red fox in red sox
green frog in green frock
pink mouse in pink trouse
blue fly in blue tie
╭─hacker@HLKali  ~/scripts  
╰─$ sed x foxsocks.txt

red fox in red sox
green frog in green frock
pink mouse in pink trouse
╭─hacker@HLKali  ~/scripts  
╰─$ 

所以你可以看到它确实输出了除最后一行之外的文件内容。出于好奇,这是一个问题。

1 个答案:

答案 0 :(得分:-2)

所以看起来这就像预期一样。我刚刚选了一个char x,它有特殊意义。像p,g,n等其他字符也是如此,类似于你的常用选项。 也像丹尼尔提到sed被视为脚本之后的第一个参数(如果不是所描述的选项之一,例如-e) 所以你可以使用上面的内容,如果你只是想修改特定的整行或类似的猜测。

一些例子:

╭─hacker@HLKali  ~/scripts  
╰─$ sed 2q foxsocks.txt
red fox in red sox
green frog in green frock
╭─hacker@HLKali  ~/scripts  
╰─$ 
╭─hacker@HLKali  ~/scripts  
╰─$ sed 2x foxsocks.txt
red fox in red sox

pink mouse in pink trouse
blue fly in blue tie
╭─hacker@HLKali  ~/scripts  
╰─$ sed 3x foxsocks.txt
red fox in red sox
green frog in green frock

blue fly in blue tie
╭─hacker@HLKali  ~/scripts  
╰─$ sed x foxsocks.txt 

red fox in red sox
green frog in green frock
pink mouse in pink trouse
╭─hacker@HLKali  ~/scripts  
╰─$ sed 1x foxsocks.txt

green frog in green frock
pink mouse in pink trouse
blue fly in blue tie
╭─hacker@HLKali  ~/scripts  
╰─$