パターンを新しいファイルに保存するSedコマンド

パターンを新しいファイルに保存するSedコマンド

質問があります。 Linux sedコマンドを作成して、datat.txtファイルの「数字」(大文字または小文字)パターンに一致する行を保存し、結果を保存します(前の内容を上書き)。 ~/results.txt

私は次のコマンドを使用します。

sed -n -i '/number/p' data.txt>~/results.txt

ただし、moreコマンドを使用してresults.txtファイルを表示すると、空のテキストファイルが表示されます。何か間違っているか教えてください。

答え1

2つのオプションを使用します

  • -n:静止モード、出力なし
  • -i:その場で編集

したがって、元のファイルを上書きしてパターンのみを保持し、何も出力しません。

おそらくそのような計画ですか?

sed -n '/number/Ip' data.txt > ~/results.txt
  • フラグがない場合、-nすべてのラインがエコーされます。
  • I大文字と小文字を区別しないフラグ

男性

-n、-静か、-無音

パターン空間の自動印刷抑制

-i[サフィックス]、--in-place[=サフィックス]

ファイルを所定の位置に編集します(拡張子が指定されている場合はバックアップ)。デフォルトの動作モードは、シンボリックリンクとハードリンクを切断することです。これは--follow-symlinksと--copyを使って変更できます。

関連情報