私は過去にこれをやったことがあると確信しています(そして答えはどこかにあります)が、今は思い出せません。
filenameとfileの両方で一致を検索する(および返す/エコーする)one-linerを探しています。
おそらく最も簡単なのは、grep
とfind
を別々に実行することです。しかし、私はワンライナーを好む...
...これらのツールを連続して実行することが可能であった場合を除き、セミコロン(?)またはその他を使用します。
私が求めている解決策はパイピングを伴うとは思わない|なぜなら、set theoryから借りるために、私はunionに興味がある 2つのセットAおよびB(A∪B)、それらのではなく交差点(A∩B)。
そのとおりです-セミコロンを使用して、コマンドのリストを順番に実行できます。
$ find . -name 'test'; grep test *
単一のコマンドとして実行するようにグループ化することもできます: http://www.gnu.org/software/bash/manual/html_node/Command-Grouping.html
あなたの端末でこれを試してください(CTRL+ALT+T)
find <here your starting string > -type f -exec grep -l <here place the part of file name> {} \;
上記のコマンドの説明:
find snow -type f
-> snowから始まるすべてのファイルを検索します。 find .... -exec
->見つかった各アイテムに対して、次のコマンドを実行します。コマンドでファイル名を通常配置する場所に、{}を入れます。 grep -l "String" something
->は、文字列「String」が何かファイルに見つかった場合にファイル名を返します。
クレジット: dbasupport.com