次のスクリプトを使用して、プレフィックス付きのフォルダold_
とその内容をUSBハードドライブに配置します。何らかの理由でrsync
名前のないフォルダが作成され、データがそのフォルダにコピーされます。
rsync -vrhm --stats --progress --include='**/' --include='**/old_*/**' --exclude='@Recycle' --exclude='*' /share/Projekte/ /share/02-18-Harburg/
これをどのように変更できますか?そして、以前に元から転送されたファイルを削除する
ことが可能かどうか疑問に思います。rsync
編集する:
ディレクトリをタップしようとすると、次の結果が表示されます。
$ cd 02-18-Harburg/^M/2017/
フォルダ名は次のとおりです。
$ ls -lisah
total 0
27 0 drwxr-xr-x 1 admin administrators 0 2018-05-18 13:32 ?/
答え1
inはキャリッジリターン文字^M
です。02-18-Harburg/^M/2017/
スクリプトには Windows スタイルの CRLF 行末があるため、パスはその名前rsync
で誠実に生成されます。/share/02-18-Harburg/<CR>
(この^M
記号は通常ヒットを表しますCtrl+M。より一般的な記号はキャリッジリターン文字です\r
。)
dos2unix
、またはこれと同様に、スクリプトの最後の行sed -i 's/\r//' script
(GNU sed仮定)を変更します。
ls
端末に出力されるファイル名の特殊文字が好きではないので?
。とにかく端末で実際のCRを見ることができないので、これは本当に良いです。ls --quoting-style=shell-escape
あまり明示的でない形式でファイル名を印刷するために使用されます。