ディレクトリを作成したいcpのですが、コピーしたファイルよりも古いファイルであっても、既存のファイルを上書きしたくありません。これは Crontab Bash スクリプトの一部になるため、完全に非対話的に実行したいと考えています。何か案は?
403061 次
8 に答える
701
マニュアルページから取得:
-n, --no-clobber
do not overwrite an existing file (overrides a previous -i option)
例:
cp -n myoldfile.txt mycopiedfile.txt
于 2012-02-22T10:12:11.933 に答える
55
cp -n
あなたが望むものです。マニュアルページを参照してください。
于 2012-02-22T10:11:25.880 に答える
37
「n」オプションがないことに気付いた人 (RedHat の私のように) はcp -u、ソースが既存のものよりも新しい (または既存のものがない) 場合にのみ、ファイルを書き込むために使用できます。
[編集] コメントで述べたように、これは古いファイルを上書きするため、OP が望んでいたものとはまったく異なります。そのためにcevingの答えを使用してください。
于 2013-06-04T16:45:25.763 に答える
36
これは RedHat で動作します:
false | cp -i source destination 2>/dev/null
更新することと上書きしないことは別のことです。
于 2013-11-15T09:20:21.240 に答える
-2
これは私にとってはうまくいきます。cp -i ソース宛先
于 2020-08-27T04:24:29.217 に答える