Unix sed为什么要报告;无效的命令代码";为了瓦德?
我正在运行以下sed命令。我想从第二行开始提取第四行:Unix sed为什么要报告;无效的命令代码";为了瓦德?,unix,sed,Unix,Sed,我正在运行以下sed命令。我想从第二行开始提取第四行: input: $ sed -n '2~4p' filename output: sed: 1: "2~4p": invalid command code ~ 有人知道为什么会这样吗?我正在使用MacOSX10.8 我知道下面的awk命令可以:$awk“NR%4==2{print}” 我很好奇为什么tilde对于这个sed命令无效 sed -n '1d;N;N;N;P;d' YourFile 一班轮 通过1行(删
input:
$ sed -n '2~4p' filename
output:
sed: 1: "2~4p": invalid command code ~
有人知道为什么会这样吗?我正在使用MacOSX10.8
我知道下面的awk命令可以:$awk“NR%4==2{print}”
我很好奇为什么tilde对于这个sed命令无效
sed -n '1d;N;N;N;P;d' YourFile
一班轮
- 通过1行(删除也意味着直接转到脚本末尾)
- 负载比电流大3线
- 打印第1行
- 删除加载的行
- 重新启动操作
sed
的BSD实现,如果您在man
页面中搜索~
,您将什么也找不到,因为它不在那里
您可以安装GNU实现,例如使用MacPorts:
sudo port install gsed
或Brew:
brew install gnu-sed
MacOSX不运行支持~的gnu sed。只需从源代码处编译即可在Mac上安装gnu sed,无需自制或MacPorts。您可以将
awk
缩短为:awk'NR%4==2'文件