名前に ` が含まれるファイルを削除する

名前に ` が含まれるファイルを削除する

ある時点で、` を含むファイルを作成しました。これを削除するにはどうすればよいですか?

ls -la戻り値:

-rw-rw-r--  1 ec2-user ec2-user     0 Sep 25 23:01 `which

答え1

方法はいろいろあります:

  1. ファイル名を引用する

    rm '`which'
    
  2. 問題のあるキャラクターから逃げる

    rm \`which
    
  3. シェルグロビングを使用する(一致する他のファイルがある場合にはプロンプトを表示)

    rm -i ?which
    rm -i *which
    
  4. 代わりにを使用してくださいfind(@Braiam が以下で指摘したように、これにより現在のディレクトリ内の一致するすべてのファイルが検索され、予想よりも多くのファイルが削除される可能性があることに注意してください)。

    find . -name '`which' -exec rm {} \;
    find . -name '`which' -delete
    

答え2

ファイル名に「変な文字」が含まれていて、それを入力できない場合は、次のようにします。

rm -i *which*

which通常の文字で構成される部分はどこですか。

(-iインタラクティブの場合) 一致するファイル名を削除する前に必ずプロンプトが表示されるようにして、削除したくない一致をすべてスキップできるようにします。

答え3

問題のある文字をバックスラッシュでエスケープすることで削除できます。次のように入力します。

rm \`which

それでうまくいくでしょう。

答え4

それは起こります。ファイル名が

`which 

使用すべき

mv '`which' which

'ファイル名の前に特殊文字があるため、ファイル名の前後にこれを使用する必要があります。

関連情報