私は今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
step
lineで始まるすべての行と一致しますfirst
。たとえば、sed -n 1~2p
入力ストリームのすべての奇数行が印刷され、アドレスは2~5
2行目から始まり、5行目ごとに一致します。first
0かもしれません。この場合は、sed
同じように動作しますstep
。 (これは拡張です。)
2つの例は同じ行と一致しますが、最初の例はw
ファイルに書き込まれ()、2番目の例p
は標準出力がある場所に印刷()されます。
一般的に命令マニュアルを必ず参考にしてください。マニュアルはあいまいなケースがほとんどありません。機能のさまざまな側面を組み合わせてコマンドを適用することは、チュートリアルで説明するのが難しい場合があります(チュートリアルでは、同じステートメントをさまざまな方法で再現して状況を理解しやすくするため、混乱を招く可能性があります)。しかし、マニュアルはAです。集約コマンドのすべてのビットが実行する操作への明確な参照です。