0

UNIX でいくつかのフォルダーを削除する際に問題が発生しています。

ディレクトリ 1:

?0\'

ディレクトリ 2:

-1\'

それらを再帰的に削除したいので、次のようにします

rm -rf -1\'

引用符、ダッシュ、疑問符をエスケープする方法がわかりません。

4

2 に答える 2

1

怪しい文字の場合は引用符を使用し、引用符の外側でワイルドカードを使用する必要があります。引用符がなければ、それらのキャラクターは他のタスクを実行したいと思うでしょう.

rm -rf -- *"\'"

osgx によるコメントのおかげで

于 2012-10-29T21:54:19.397 に答える
0

気をつけて; rm -fr奇妙なディレクトリ名で実行する前に、注意深く確認してください。

ダッシュで始まるファイル名 (ディレクトリ名) の標準的なトリックは-、名前の前に を付けて、それ以上./で始まらないようにすることです。-

rm -fr ./-1??

他のディレクトリは、おそらく次のように識別できます。

rm -fr ./?0??

少なくとも、次のように実行します。

echo ./-1?? ./?0??

コマンドを試す前にrm、正しいディレクトリのみが選択されていることを確認してください。rmコマンドが意図したとおりに動作するかどうか確信が持てない場合、このコマンドは危険です。

疑問符を使用した表記法は、疑問符、バックスラッシュ、および単一引用符を引用する必要がないようにします。これは、端末に表示されるものがファイルシステムの名前ではない可能性があるという疑いからです。ls | od -cディレクトリ名の正確なスペルを検証するために、名前を特定するためにさらに作業を行う必要がある場合があります。

于 2012-10-29T22:03:08.570 に答える