1

[^a]*のようなものを使用すると、で始まらないすべてのファイルが出力されることを理解しています"a"

で始まらない(ただし、ファイル名の途中に含めることができる)5文字以上のファイルをエコーし​​たい場合は、どうすればよいですか?"abc""abc"

私は持っています

 echo [^abc]?????*

"123abc"しかし、出力は、私がよく理解していないのようなファイルも削除します。

4

1 に答える 1

3

質問がどの OS に適用されるかは示していませんが、Mac OS X または Linux で一致するファイルのセットを特定する 1 つの方法は次のとおりです。

find . -maxdepth 1 -type f -name "?????*" | egrep -v "./abc"

これにより、現在のディレクトリ内のファイルのみがリストされることに注意してください。ファイルをサブディレクトリに含めたい場合は、maxdepth引数を削除する必要があります。

また、これらのコマンドでは大文字と小文字が区別されることに注意してください。大文字と小文字を区別しないようにするには、 -iname-iを使用する必要があります。

編集:

本当にechoコマンドを使用する必要がある場合は、次のようにします。

echo `find . -maxdepth 1 -type f -name "?????*" | egrep -v "./abc"`
于 2012-09-15T14:58:11.080 に答える