ファイル内の特定の長さの行を保持するコマンド

ファイル内の特定の長さの行を保持するコマンド

.txtファイルに639の文字行を保持したいと思います。これを行うコマンドは何ですか?

答え1

あなたはそれを使用することができますgrep

grep -E '^.{639}$' your.txt

^$行の始まりと終わりを一致させます。.{639}すべての文字と正確に639回一致します。

Stéphaneが述べたように、これは次のように短縮することができます(1文字)。

grep -Ex '.{639}' your.txt

そして-x言った:Select only those matches that exactly match the whole line

答え2

awkを使用してください:

awk 'length == 639'

または少し理解しやすいです。

awk 'length() == 639' 

\ありがとう{@fedorqui}

答え3

ExモードでVimを使用できます。

ex -sc 'v/\v^.{639}$/d' -cx file.txt
  1. \v魔法をかける

  2. ^.{639}$正確に639文字を含む行を見つける

  3. v反転選択

  4. d削除

  5. x保存して閉じる

答え4

データが何であるか、単語を途中で区切ることが許可されているかどうかについては言及していません。したがって、ここに書かれたテキストに適している可能性がある代替方法があります。

export MANWIDTH=639
cat file.txt | man -l -

これは、表示にデフォルトのポケットベルを使用するか、出力を別のものにパイプします。

関連情報