回答:
findコマンドを使用して、
find . -type f -name "*John*"
#!/bin/bash if [ -z $1 ]; then echo "Error: Specify pattern for search"; else /usr/bin/find . -type f -name "*$1*"; fi
するF search-string
と、完璧なショートカットとして実行できます
[ -z "$1" ]
が、少し良いでしょう。
if [ -z ]
ます。構文エラーになると思っていましたが、動作します。今後、コードの一部を簡略化できます。
正解はすでに提供されていますが、あなた自身を助ける方法を学ぶために、私は別の方法で何か役立つものを投入すると思いました。達成しようとしていることを一言で要約すると、Linuxには強力なヘルプ機能があります。
man -k <your search term>
これは、簡単な説明に検索語が含まれるすべてのコマンドをリストすることです。通常、あなたが探しているものが見つかる可能性はかなり高いです。;)
その出力は時々やや圧倒的である可能性があるので、以下のように、利用可能なすべてのマンページではなく、実行可能ファイルに絞り込むことをお勧めします。
man -k find | egrep '\(1\)'
または、次のように、より高い特権レベルを必要とするコマンドも検索したい場合:
man -k find | egrep '\([18]\)'
find
それは、ファイルシステム内の実際のファイルをスキャンするので、コマンドには長い時間がかかります。
最も簡単な方法はlocate
コマンドを使用することで、すぐに結果が得られます。
locate "John"
コマンドが見つからない場合は、最初にmlocate
パッケージをインストールしてupdatedb
コマンドを実行し、検索データベースを初めて準備する必要があります。
詳細はこちら:https : //medium.com/@thucnc/the-fastest-way-to-find-files-by-filename-mlocate-locate-commands-55bf40b297ab
そのシンプルなACKを使用してください。入力するだけack <string to be searched>