0

たとえば、ごみ箱フォルダーを作成し、そのフォルダーが~/dustbin/File01既に存在する場合、新しいファイルを同じ名前のフォルダーにコピーするにはどうすればよいでしょうか?

例えば:

cp ~/test/File01 ~/dustbin/File01

ただし、おそらく(コピー)を最後に追加します

4

3 に答える 3

2

Unixファイルシステムでは、同じフォルダに同じ名前の2つのファイルを含めることはできません(参考までに、VMSでは許可されています)。

cat追加で使用できます:

cat ~/test/File01 >> ~/dustbin/File01

これにより、ファイルが存在しない場合、または既存のファイルに追加された場合にファイルが作成されます。

また、このcpコマンドは、既存のファイルを上書きしないようにバックアップを作成するオプションを提供します。--backupそのためのオプションを参照してください。

于 2012-11-27T12:51:30.663 に答える
1

ファイルが既に存在するかどうかを検出し、新しいファイルの名前を変更して上書きしないようにする方法を尋ねていると思います。その場合:

if [[ -f "$HOME/dustbin/File01" ]]; then
    cp "$HOME/test/File01" "$HOME/dustbin/File01 (Copy)"
else
    cp "$HOME/test/File01" "$HOME/dustbin/File01"
fi

文字通りあなたが求めたものです。これをより一般的に行うことができます:

if [[ -f "$dest" ]]; then
    cp "$source" "${dest%/*}/${dest##*/} (Copy)"
else
    cp "$source" "$dest"
fi

ただし、不用意に使用すると、ファイル名に「(コピー) (コピー) (コピー) (コピー) …」が含まれる危険があります。

于 2012-11-27T12:55:00.833 に答える
0

dd if=~/test/File01 >> ~/dustbin/File01

于 2012-11-27T12:50:39.807 に答える