-exec \{\} を含む find コマンドでこの部分はどういう意味ですか? [コピー]

-exec \{\} を含む find コマンドでこの部分はどういう意味ですか? [コピー]

このコマンドがあります(KSH)

find <path> -regextype posix-extended -type f -regex '.*/txt' -exec ls -l --full-time \{\} \;
| sort -bnr

だから今まで私は上記のコマンドを読んで解読しています。私が知っているのは

-regextype posix-extended

これは正規表現をposix-extendに変更します。

-type f

これはファイルのみを返します。

-regex '.*/txt'

これは正規表現だけです。

-exec ls -l --full-time

実装するls -l --full-time

\\{\\}

私はこれを理解していません。それは何をしますか?私が知っているのは、-exec次に終わらなければならないということです{} \;。しかし、中かっこ内にバックスラッシュがあるのはなぜですか?

ベストアンサー1

私が知っているのは、-exec次に終わらなければならないということです{} \;。しかし、中かっこ内にバックスラッシュがあるのはなぜですか?

バックスラッシュは、次のように次の文字の特別な意味を削除します。

$ echo $SHELL
/bin/bash
$ echo \$SHELL
$SHELL

{}shのようなシェルでは最初から特別ではないので、必要ではないことを除いて、これがここで行うことです。少なくとも平野が{}除去された魚の殻に必要な場合、またはBash/ksh/zshに支柱の拡張のように見えますが、拡張したくない場合に必要です。 (例:echo \{foo,bar\}echo {foo,bar}

おすすめ記事