検索: 不明な述語 "-p"

検索: 不明な述語 "-p"
find /log/ -mtime -31 -type f -name ""*data.txt"" -printf ""cp -p %p /Backup/%Td/\n"" | sh

cronジョブでこのコマンドを設定しようとすると、文句が出ますunknown predicate -p。実際にはcronの問題ではなく、シェルスクリプトの問題のようです。

この問題をどのように解決できますか?引用は-p役に立ちません。

答え1

引用符付き文字列は二重引用符で囲まれているため、実際にはまったく引用符ではありません。

あなたは:

find /log/ -mtime -31 -type f -name ""*data.txt"" -printf ""cp -p %p /Backup/%Td/\n"" | sh

これはおそらく次のとおりです。

find /log/ -mtime -31 -type f -name "*data.txt" -printf "cp -p %p /Backup/%Td/\n" | sh

しかし、おそらくこうしてはいけないようです。を使用してこれらのファイルをコピーする必要がありますfind -exec

関連情報