在 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
单引号名称。这是必需的,因为名称不仅包含(
空格和其他字符,如果不加引号,这些字符将由 shell 解释。 shell 会在不带引号的空格上分割名称,并将每个生成的单词视为要删除的单独文件名模式(您在收到的错误消息中看到这一点),并且这些?
字符是可能与现有文件中的单个字符匹配的通配符。文件名(不太可能,但仍然如此)。
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*
请注意,您需要确保这仅与您有兴趣删除的一个文件匹配。您可以通过rm
将上面的命令替换为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