0

実行時にコマンド ラインに入力した特定の文字列にファイル名を一致させるシェル スクリプトを作成したいと考えています。ファイル名のパターンを一致させたい。文字列が 'questi' で、フォルダーに 'question1.c'、'question2.c'、questions.doc' が含まれている場合、それらは回答として表示されます。

4

2 に答える 2

1

スクリプトは、次のように単純にすることができます。

$!/bin/bash
shopt -s nullglob    # To return nothing if there is no match.
echo *$1*

次に、それを次のように呼び出しますscript.sh questi

于 2013-03-05T11:07:28.547 に答える
1

これは以下を使用して可能findです:

find /path/to/directory -type f -iname "*questi*"

このオプション-type fにより、ファイルのみが返さ-inameれ、 glob で大文字と小文字を区別しない一致が行われる*questi*ため、「question1.txt」、「five_questions.txt」などを返す必要があります。

必要に応じて、これを次のようにシェル スクリプトに入れることができます。

#!/bin/sh
find $1 -type f -iname "*$2*"

そして、次のように呼び出します。filefind.sh /path/to/directory questi

于 2013-03-05T11:10:02.420 に答える