我正在运行以下sed命令。我想从第二行开始提取每4行:
input:
$ sed -n '2~4p' filename
output:
sed: 1: "2~4p": invalid command code ~
有人知道为什么会发生这种事吗?我使用的是macOSX10.8。
我知道下面的awk命令命令会起作用:$awk"NR%4==2{打印}〃;
我很好奇为什么波浪号对这个sed命令无效。
我猜你在Mac OS X中。它有sed
的BSD实现,如果你在man
页面中搜索~
,你会一无所获,因为它不在那里。
您可以安装GNU实现,例如使用MacPorts:
sudo port install gsed
或酿造:
brew install gnu-sed
sed -n '1d;N;N;N;P;d' YourFile
单行
- 通过1行(删除也意味着直接转到脚本末尾(
- 负载3线大于电流
- 打印第一行
- 删除加载的行
- 重新启动操作