[解決済み] マッチした行の後ろから始まるファイルのすべての行を削除するにはどうすればよいですか?
2022-12-13 08:48:17
質問
数行のテキストからなるファイルを持っています。
The first line
The second line
The third line
The fourth line
一行となる文字列を持っています。
The second line
この文字列と、それ以降のすべての行を削除したいので、ファイル内の
The third line
と
The fourth line
という文字列が追加されます。ファイルはこうなる。
The first line
googleで解決策を検索してみたところ、どうやら
sed
. みたいな感じ。
sed 'linenum,$d' file
しかし、文字列の行番号を見つけるにはどうしたらよいのでしょうか?あるいは、他にどうすればいいのでしょうか?
どのように解決するのですか?
マッチした行(またはそれに続く行)を表示しない場合。
sed -n '/The second line/q;p' inputfile
これは、"パターンにマッチする行に到達したら終了し、そうでなければ各行を表示する"と言っています。また
-n
オプションは暗黙の印刷を防ぎ
p
コマンドを使用する必要があります。
または
sed '/The second line/,$d' inputfile
これは、"マッチした行から始まり、ファイルの終わりまで出力から全ての行を削除する"という意味です。
となりますが、最初のものの方が高速です。しかし、これは処理を完全に終了させるので、引数に複数のファイルを指定した場合、最初にマッチしたファイル以降のファイルは処理されません。この場合、deleteの方がよいでしょう。
マッチした行を表示し、それ以降の行を表示しないようにしたい場合。
sed '/The second line/q' inputfile
これは、"すべての行を表示し、一致した行に到達したら終了する"という意味です(この行にある
-n
オプション(暗黙のprintなし)は使用されません)。
参照 man sed を参照してください。
関連
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] ワイルドカードマッチングに基づいて、現在のフォルダとサブフォルダ内のすべてのファイルを再帰的に検索するにはどうすればよいですか?
-
[解決済み] テキストファイルから、特定の文字列を含むすべての行を削除するにはどうすればよいですか?
-
[解決済み] あるディレクトリにあるすべてのコード行を再帰的にカウントするにはどうすればよいですか?
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
-
[解決済み] ターミナルで現在の行をクリア/削除するにはどうすればよいですか?
-
[解決済み] ファイルからn行目を取得するBashツール
-
[解決済み】ファイルから#で始まるすべての行を削除する
-
[解決済み] sedを使ってファイルの最後のn行を削除する方法
-
[解決済み] コマンドラインから2つの行を1つに結合する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
deepin20のサブネットマスクはどこですか?deepinのサブネットマスクを表示するためのヒント
-
Linux NICがRTNETLINK answersというエラーで起動できない場合、どうすればよいですか?ファイルが存在するか?
-
Centos7のインストールと展開無料のconfluence wikiの(知識ベース)詳細な操作手順
-
Kali Linuxのデスクトップの外観スタイルを変更するには? KALIの外観の最適化のヒント
-
LinuxでJenkinsプラグインのインストールが遅い場合の解決策
-
deepin20のソフトをアンインストールする方法を教えてください。deepinのアプリケーションをアンインストールする2つの方法
-
[解決済み] Linuxでデータファイルから最初の列(実際には行名)を削除する方法は?
-
[解決済み] ディレクトリInodeと通常ファイルInodeの比較
-
[解決済み] Unix/Linuxで、ファイルのあるフォルダを別のフォルダにコピーするにはどうしたらいいですか?[クローズド]
-
[解決済み] エクスポートあり/なしの変数の定義