我刚刚发现,如果你按照以下方式使用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 ╰─$
所以你可以看到它确实输出了除最后一行之外的文件内容。出于好奇,这是一个问题。
答案 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 ╰─$