14 ファイルをそれぞれ2ワードのチャンクに分割します。 $cat tmp word1 word2 word3 word4 word5 word6 word7 $sed -e 's/word. word. /&\n/g' tmp word1 word2 word3 word4 word5 word6 word7 $sed -e 's/word. \{2\}/&\n/g' tmp word1 word2 word3 word4 word5 word6 word7 私は最後のコマンドがその前のものと同じ結果を与えると予想しました。なにが問題ですか? text-processing sed — user13107 ソース
17 申し訳ありませんが、投稿した直後にそれを把握したようです。 する必要があります sed -e 's/\(word. \)\{2\}/&\n/g' tmp どうやら、sedがword.直前のスペースだけでなくパターン全体に{2}条件を適用するために、括弧が必要なようです。 — user13107 ソース 3 または使用sed -E 's/(word. ){2}/&\n/g' tmp — Cyrus
1 別の方法sed: $ sed 's/ /\x1&\x2/g; s/\([^\x1]*[\x1][^\x2]*[\x2][^\x1]*\)[\x1][^\x2]*[\x2]/\1\ /g; s/[\x1\x2]//g' — クオンルム ソース 非常に複雑に思えます。何\xですか? — user13107 14 参照:backreference.org/2012/08/22/replace-every-nth-occurrence — cuonglm
1 N回一致する一般的な場合: $ perl -ple '$N=3;s/(\S+ ){$N}\K/\n/g' tmp word1 word2 word3 word4 word5 word6 word7 — ジョセフ・R ソース
sed -E 's/(word. ){2}/&\n/g' tmp