端末からコンテンツでファイルを検索する

多くの人が、ファイルのあるフォルダー(場合によってはサブフォルダーも含む)でファイルを見つける必要がある、テキストの一部を知っている(まあ、推測する)などの問題に繰り返し遭遇していると思います。 また、私はこの必要性に何度も出くわしましたが、ようやく集まってこのタスクを実行する小さなbashスクリプトを作成しました。

画像



スクリプトは文字列として呼び出されます。
textfind %name%
ファイル名テンプレート(2番目の引数)と、検索されたパッセージが見つかったファイルの名前を表示する色を設定することもできます(デフォルトでは緑、ubuntu-sudo apt-get install fishの下でset_colorユーティリティのインストールに必要な色を有効にします)。

スクリプト自体は次のとおりです。

#!/bin/bash
cmd="find -type f -print "
set_color_cmd="set_color"
if [ $2 ]; then cmd="$cmd -name \"$2\""; fi
color="green"
if [ $3 ]; then color=$3; fi

is_colored=1
hh=$(which "$set_color_cmd")
if [ $? -ne 0 ]; then is_colored=''; fi

$cmd | while read f; do
cnt=$(grep -c "$1" "$f")
if [ $cnt -gt 0 ]; then
if [ $is_colored ]; then "$set_color_cmd" "$color"; fi
echo "$f"
if [ $is_colored ]; then "$set_color_cmd" normal; fi
grep -n "$1" "$f"
fi
done



リンクからダウンロードできます: スクリプト

Source: https://habr.com/ru/post/J135497/


All Articles