[解決済み] Linuxのコマンドです。テキストファイルだけを「探す」方法は?
2022-10-25 01:57:22
質問
Googleで何度か検索した結果、出てきたのは。
find my_folder -type f -exec grep -l "needle text" {} \; -exec file {} \; | grep text
というのは非常に使い勝手が悪く、MIMEタイプ情報のような不要なテキストを出力してしまいます。何か良い解決策はありますか?私は、検索する必要がある多くのテキストファイルと同じフォルダに、多くの画像や他のバイナリファイルを持っています。
どのように解決するのですか?
これは古いスレッドですが、私はそれを偶然見つけて、私は非常に高速であることを発見した私の方法を共有することを考えました
find
を使用して非バイナリ ファイルのみを検索する非常に高速な方法であることがわかりました。
find . -type f -exec grep -Iq . {} \; -print
は
-I
オプションはバイナリファイルを即座に無視することを指示し
.
オプションと
-q
を併用すると、テキストファイルに即座にマッチするので、非常に高速に処理されます。を変更することができます。
-print
を
-print0
にパイプで接続します。
xargs -0
などにパイプすることができます(@lucas.werkmeisterさん、ありがとうございました!)。
また、最初のドットは、特定の BSD バージョンでのみ必要な
find
OS X などの特定の BSD バージョンでのみ必要です。しかし、これをエイリアスなどに置きたい場合は、常にそこにあっても何の支障もありません。
EDIT
: @ruslan が正しく指摘しているように
-and
は暗黙の了解なので省略可能です。
関連
-
Linuxにおけるxinetdサービスの管理方法に関するケーススタディ
-
deepinv20 linux ファイルのサフィックスを変更する方法は?Linuxでファイルの拡張子を変更する方法
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] ワイルドカードマッチングに基づいて、現在のフォルダとサブフォルダ内のすべてのファイルを再帰的に検索するにはどうすればよいですか?
-
[解決済み] フォルダとそのサブフォルダ/ファイルのパーミッションを一括で変更する方法
-
[解決済み] Linux上で動作するC++コードのプロファイリングを行うにはどうすればよいですか?
-
[解決済み] find .コマンドでディレクトリを除外する方法
-
[解決済み] LinuxのシェルスクリプトでYes/No/Cancelの入力を促すにはどうしたらいいですか?
-
[解決済み] ディレクトリへのシンボリックリンクを削除する
-
[解決済み] grep --exclude/--include構文を使って特定のファイルをgrepしないようにする
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
LinuxでPingを無効にする、または許可する設定方法
-
centos7 インストール クリックハウスとセット ユーザー名 パスワード ケース 詳細
-
deepin20にフォントを追加する方法は?deepin20にフォントをインストールする方法は?
-
deepinシステムからログアウトする方法は?deepinシステムからログアウトし、ユーザーを切り替える方法
-
Linux NICがRTNETLINK answersというエラーで起動できない場合、どうすればよいですか?ファイルが存在するか?
-
deepinv20 linux ファイルのサフィックスを変更する方法は?Linuxでファイルの拡張子を変更する方法
-
sudo が sudo として表示される: setuid root である必要がある
-
[解決済み] ビーコン待ちでハングアップしたリーバー
-
[解決済み] libstdc++.so.5: 共有オブジェクトファイルを開くことができない - しかしライブラリはインストールされており最新である
-
[解決済み] bash sh - command not found [重複].