1d;
これは単純に 1 行目を削除します。
/(\S+\s+){5}\S+/!d;
これは、任意の (非空白文字 [ \S
] 1 回以上 [+] に任意の空白文字 [ \s
] が 1 回以上[ ] 続く+
) [ ] の 5 回{5}
と、その後に非空白文字 [ \S
] が 1 回以上続くものと一致します。 [ +
] 一致する [ ] を含まない行の行全体を削除し!d
ます。
構文/pattern/d
はパターンを検索し、そのパターンを含む行を削除します。それを に変更すると/pattern/!d
、その一致を含まないすべての行が削除されるという点で、逆になります。
/\+$/s/\S+\s+//5;
\+$
これは、リテラルのプラス記号で終わる任意の行に一致する pattern を検索します。次にs/\S+\s+//5
、それらの行でアクションを実行します。\S+\s+
このコマンドが行うことは、パターン(最後のステートメントの説明に基づいて解釈できるはずです) を検索し、各行で 5 番目に一致したものを削除することです (行全体ではなく、一致するビット)。
ここでの基本的な構文はs/pattern/replacement/
. 置換が空白のままになっているため、一致を削除する効果があります。構文を変更するとs/pattern/replacement/n
、n 番目のオカレンスのみが置き換えられます。
/-$/s/\S+\s+//4;
これは上記とほぼ同じですが、マイナス記号で終わる行を検索し、それらの行で 4 番目に出現するパターンを削除する点が異なります。
HTH。