Sed(POSIX)来自linux

Sed(POSIX)来自linux,sed,posix,Sed,Posix,我对posix有些陌生,不能使用:sed'1~2p' 我的目标是跳过第1行的每一行: 1 2 3 4 将成为 1 3 我想知道posix与~的等价物是什么?更简单、可移植的解决方案是: awk 'NR%2' file 代码: 或: bash解决方案: while read -r line; do [ $((i++ % 2)) -eq 0 ] && echo "$line"; done < file 读取-r行时;做 [$((i++%2))-eq 0]&&ec

我对posix有些陌生,不能使用:
sed'1~2p'

我的目标是跳过第1行的每一行:

1
2
3
4
将成为

1
3

我想知道posix与
~
的等价物是什么?更简单、可移植的解决方案是:

awk 'NR%2' file
代码:

或:


bash
解决方案:

while read -r line; do 
  [ $((i++ % 2)) -eq 0 ] && echo "$line"; 
done < file
读取-r行时
;做
[$((i++%2))-eq 0]&&echo“$line”;
完成<文件

在第二个示例中,您需要引用sed程序。我不能使用sed'1~2p'的原因是什么?
sed -e 'n;d' file
while read -r line; do 
  [ $((i++ % 2)) -eq 0 ] && echo "$line"; 
done < file