メモを取るために使用するテキストファイルがいくつかありますcat >> file
。プレーンテキストだけで、通常は。を使用します。ときどき、新しい件名/考えの行を指定するために、空白行または2行(リターン-改行文字)を使用します。各セッションの終わりに、ファイルをCtrl+Dで閉じる前に、通常、セッションを区切るためだけに、ロット(5〜10)の空白行(リターンキー)を追加します。
これは明らかにあまり賢いことではありませんが、私にとってはこの目的のために機能します。私はないが、エンドアップ不要な空白行のとてもたくさんで、私は(ほとんどの)を除去する方法を探していますので、余分な行を。いくつかのオプションで直接使用できるLinuxコマンド(カット、ペースト、grep、...?)はありますか?あるいは、sed、awk、またはperl(sedまたはawkが好きですが、実際にはどのスクリプト言語でも)スクリプトのアイデアを誰かが持っていますか?C ++で何かを書くこと(私は実際に自分でできることです)は、やり過ぎのようです。
ケース#1:必要なのは、2つ以上(3つ以上)の連続した空白行を削除し、それらを2つの空白行だけに置き換えるスクリプト/コマンドです。複数の行(2つ以上)を削除したり、複数の空白行を1つの空白行に置き換えたりすることもできれば便利ですが。
ケース#2:2行のテキスト間の単一の空白行を削除するスクリプト/コマンドを使用することもできますが、複数の空白行はそのままにします(ただし、空白行の1つを削除することもできます)。
ケース1:
awk '!NF {if (++n <= 2) print; next}; {n=0;print}'
ケース2:
awk '!NF {s = s $0 "\n"; n++; next}
{if (n>1) printf "%s", s; n=0; s=""; print}
END {if (n>1) printf "%s", s}'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加