名前に(を含むrmを含むファイルを削除してみてください。

名前に(を含むrmを含むファイルを削除してみてください。

pythonanywhereのbashからファイルを削除しようとしています。

rm /home/olb/Email Thu, 19 Mar 2020 18:49:16 +0000 =?UTF-8?Q?Update_from_GOV.UK_=E2=80=93_Coronavirus_(COV?= =?UTF-8?Q?ID-19)_guidance_for_the_charity_sector?=

私が得るエラーは次のとおりです。

bash: syntax error near unexpected token `(‘

次から逃げようとしています(

rm /home/olb/Email Thu, 19 Mar 2020 18:49:16 +0000 =?UTF-8?Q?Update_from_GOV.UK_=E2=80=93_Coronavirus_\(COV?= =?UTF-8?Q?ID-19\)_guidance_for_the_charity_sector?=

しかし、ファイルを次のように分割するようです。 ここに画像の説明を入力してください。 私も次のことを試しました。

rm /home/olb/ \Email Thu, 19 Mar 2020 18:49:16 +0000 =?UTF-8?Q?Update_from_GOV.UK_=E2=80=93_Coronavirus_\(COV?= =?UTF-8?Q?ID-19\)_guidance_for_the_charity_sector?=

ご協力ありがとうございます

答え1

一重引用符で囲まれた名前。これは、名前に(引用符がない場合にシェルによって解釈されるスペースやその他の文字が含まれているために必要です。シェルは引用符なしの空白に名前を分割し、各結果の単語を削除する別々のファイル名パターンとして扱います(受信したエラーメッセージでこの内容を見ることができます)、これらの文字は既存の?文字と同じになる可能性があります。ファイルの単一文字と一致します。ファイル名(可能性は低いがまだ)。

rm -i ~olb/'Email Thu, 19 Mar 2020 18:49:16 +0000 =?UTF-8?Q?Update_from_GOV.UK_=E2=80=93_Coronavirus_(COV?= =?UTF-8?Q?ID-19)_guidance_for_the_charity_sector?='

または、ファイル名と一意に一致するファイル名のワイルドカードパターンを使用してください。

rm -i ~olb/Email*COV*guidance_for_the_charity_sector*

削除するファイルが1つだけ一致することを確認してください。rm上記の命令を or に置き換えてprintf '%s\n'これを確認できecho、修正された命令の結果を確認できます。

rm -iまた、各削除の対話型ヒントを提供するためにここを使用します。

同じ方法を使用してください。名前を変更するファイル名を読みやすい名前で指定します。

mv -i ~olb/Email*COV*guidance_for_the_charity_sector* /home/olb/COV_guidance_for_the_charity_sector.txt

関連情報