フォルダ名から不明な文字を削除する方法は?

フォルダ名から不明な文字を削除する方法は?

共有サーバーとして使用するDebian 10システムがあります(サンバサーバー)。私はMacを使用しており、Document.1共有フォルダにフォルダを作成します。 Linux Debianシステムに接続すると、不明な文字(疑問符付きの四角形)に置き換えられました.。スクリプトを使用してこれらの文字を削除したいと思います。手で行うこともできますが、かなり大きな木があります。

私が十分に明確に説明したかどうかわかりません。より多くの情報が必要な場合は躊躇しないでください。

更新:フォルダ名の末尾にスペースも追加しました(例:= Document1)。

もしアイデアがあれば、よろしくお願いします強く打つスクリプト。良い一日をお過ごしください。

root@debian:/home/ekip/Documents# ls -lb
    total 20
    drwxr-xr-x  3 ekip ekip 4096 juil. 21 09:33 deuxpoints
    drwxr-xr-x 10 ekip ekip 4096 juil. 21 16:12 espace
    drwxr-xr-x  2 ekip ekip 4096 juil. 22 16:47 script
    drwxrwxrwx  2 ekip ekip 4096 juil. 22 15:14 TEST
    -rw-r--r--  1 root  root    20 juil. 22 17:00 unicode.sh
    root@debian:/home/ekip/Documents#

答え1

ファイルに入力できない場合、または?端末にedとマークできない文字が含まれている場合は、ワイルドカードを使用して引き続き対話できます。ls

$ touch 'neat↑file'
$ ls -l n*
-rw-r--r--    1 dopeghoti users         0 Jul 22 08:20 neat?file

これを生成するために使用されたコマンドが示すように、これは?リテラルではありません。?

ただし、aを入力できない場合、または実際にどの文字であるかわからない場合でも、引用できます。

$ mv neat?file neat_file
$ ls n*
-rw-r--r--    1 dopeghoti users         0 Jul 22 08:20 neat_file

?in bash(およびほとんどのシェル)は「正確に1文字」のワイルドカードです。

答え2

このdetoxコマンドは、脳に破損したファイル名を整理するのに優れた作業を行います。その後、残りの作業がある場合は、sedまたはawkを使用して実行できます。

参照番号https://linux.die.net/man/1/detox

これを行うためにbashスクリプトを使用しましたが、すぐに複雑になり、遅くなりました。

関連情報