grepで一致したファイルを一括でテキストエディタで開く方法【Ubuntu】

こんにちは、minoruです。

※Ubuntu(Xubuntuなども含む)が対象の話

沢山のファイルを扱っていると、grepで一致したファイルを、そのままテキストエディタで全部開いて編集に取り掛かりたい場合があります。

そこで、grepで一致したファイルを一括でテキストエディタで開く方法を解説。

grep -l "探したい文字列" *.html | xargs bluefish

grepは通常一致したファイル名と、一致した部分を表示するから、「-l」を使って一致したファイル名だけを表示するようにする。

*.htmlの部分はファイルによりけり、適宜変更する。

「 | 」で、grepで探したファイルのリスト(引数)を次のコマンドに渡す。

xargsで「 | 」から渡されたリスト(引数)を、次のコマンドで使える「標準入力」に変換。

この部分は超初心者は読み飛ばしてOK:コマンドには「 | 」で繋ぐ事によって、前のコマンドの出力を、そのまま次のコマンドに使えるものもあるが…

例:cat a.txt | sed -e 's/aaa/bbb/g'

みたいな。でも、それはそのコマンドが利用者の使いやすいように、そう作られているだけであって、自動的に「 | 」で繋げば良いわけでは無い。

なので、基本的には前のコマンドの結果を引き継ぐ時にはxargsを使う。

bluefishはテキストエディタの名前、自分が使いたいテキストエディタのコマンド名を入れる。

ちなみに、ファイル名がわかっていて、単純に複数のファイルを一括で開きたい場合などは以下のようにすれば良い。

bluefish hoge1.txt hoge2.html hoge3.php

みたいな感じで、ファイルを羅列すれば良い。ただし、全てのエディタで同じような挙動になるとは限らないのであしからず。

LinuxやUbuntuをこれから試してみたい!と言う人や、今までWindowsで使っていたPCをWindowsは残したままLinuxやUbuntuを活用してみたい人は以下の本がおすすめ!
https://amzn.to/3Vl1oNx

LinuxやUbuntuを使おうとして、初心者の人が最初に「?」となりやすいのがコマンドでしょう。使い方がわかればこれほど簡単で便利なものはありませんが、最初は戸惑うのが普通です。そんな初心者に向けてマンガで超わかりやすいコマンドについて学べるのはシス管系女子みんとちゃんの本!
https://amzn.to/3FMTx5v

シェアする

  • このエントリーをはてなブックマークに追加

フォローする