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