sedの〜の説明

sedの〜の説明

私は今sedを学んでいます。このチルダ「〜」が私を最も混乱させます。

たとえば、次のコマンドは

sed -n '1~2 w output.txt' input.txt

奇妙な行が印刷されます(output.txtファイルとして)。

同じチュートリアルでは、1から2に行をスキップし、次を使用すると、2行目の横に行を印刷し始めると述べています。

sed -n '1~2 p' input.txt

このチルダの絶対的な解釈は何ですか?

答え1

これはGNUsed拡張です:

first~step

steplineで始まるすべての行と一致しますfirst。たとえば、sed -n 1~2p入力ストリームのすべての奇数行が印刷され、アドレスは2~52行目から始まり、5行目ごとに一致します。 first0かもしれません。この場合は、 sed同じように動作しますstep。 (これは拡張です。)

2つの例は同じ行と一致しますが、最初の例はwファイルに書き込まれ()、2番目の例pは標準出力がある場所に印刷()されます。

一般的に命令マニュアルを必ず参考にしてください。マニュアルはあいまいなケースがほとんどありません。機能のさまざまな側面を組み合わせてコマンドを適用することは、チュートリアルで説明するのが難しい場合があります(チュートリアルでは、同じステートメントをさまざまな方法で再現して状況を理解しやすくするため、混乱を招く可能性があります)。しかし、マニュアルはAです。集約コマンドのすべてのビットが実行する操作への明確な参照です。

関連情報