Saya punya sedikit masalah dengan kesalahan yang sangat keras kepala selama rsync. Itu disebabkan oleh file dengan karakter khusus dalam nama file-nya. Ada yang lain tapi saya bisa mengatasinya dengan melakukan beberapa konversi dalam pengkodean nama file. Namun file yang satu ini saya bahkan tidak dapat menemukannya.
Jadi, inilah yang dikatakan rsync:
../.\#033OA.tex.pyD0MB" failed: No such file or directory (2)
Hal pertama yang diperhatikan adalah bahwa kode karakter tidak boleh hex atau oktal jadi saya sudah mencarinya di Google dan hanya menemukan ini . Jadi mungkin CURSOR UP
karakter (atau tidak). Saya sudah mencoba
ls -la *`printf '\033OA'`*
tidak berhasil. Saya juga mencoba mem-piping output ls dari direktori tersebut tetapi od
tidak berhasil.
Apa lagi yang bisa saya lakukan? Atau karakter apa yang saya cari?
Terima kasih
ls -b
, yang seharusnya menunjukkanJawaban:
Anda dapat menggunakan
-b
opsi untukls
, yang menampilkan karakter non-grafis sebagai urutan pelepasan gaya-C.sumber
ls -aq
akan mencetak semua nama file, dengan?
ganti setiap karakter yang tidak dapat dicetak . Pada banyak varian unix,ls -AB
atauls -Ab
(periksa halaman manual Anda) akan mencetak lolos oktal. Denganls -aq
, Anda dapat menggunakan output yang ditampilkan sebagai pola shell.Cara lain untuk mendapatkan nama file entah bagaimana adalah dengan menggunakan penyelesaian shell Anda: masukkan
mv .
dan tekan Tabberulang kali hingga nama aneh dimasukkan.sumber
ls -q
tidak menunjukkan file sedangkanls -b
lakukan. mungkin karena nama filenya tidak[weird-character]OA.tex
`printf %b '\033OA'`.tex
.
di awal nama file, jadi Anda perluls -Aq
atauls -aq
. Dan jika Anda menggunakan shell wildcard, Anda perlu membuat.
eksplisit:*
tidak akan menyertakan file tetapi.*
akan.$DESTINATION/.$FILENAME
sebelum memindahkan file ke nama yang benar. Karenanya pada sumbernya tidak ada file.
di awal namanya. Juga, seperti yang dikatakan,ls -q
tidak akan menunjukkan filels -b
itu.