이름에 (가 포함된 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*

제거하려는 파일 하나와만 일치하는지 확인해야 합니다. 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

관련 정보