N行の削除、次のN行の維持など

N行の削除、次のN行の維持など

ファイルから最初の12行を削除し、次の12行を保持してから、Linuxコマンドまたはシェルスクリプトを使用してファイルが終了するまでこれを繰り返したいと思います。

答え1

パイプを通ってください。perl -nle 'print if ((($.-1)/12)%2)'

答え2

GNU機能の使用awk

awk -v RS='([^\\n]*\n){12}' '!(FNR % 2){printf "%s", RT}' file

答え3

sed行範囲を選択して削除できます。

sed -i '1~24,+11d' file

答え4

tail「反転」を使用

tail -n +5

最初の5行を除くすべての内容を印刷します。

head -n 5

最初の5行を印刷します。したがって、6〜10行を印刷するには、次のようにします。

cat yourfile | tail -n +5 | head -n 5

関連情報