このコマンドがあります(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}
)