물음표로 시작하는 모든 파일 삭제

물음표로 시작하는 모든 파일 삭제

약 4,000개의 파일이 들어 있는 폴더가 있습니다. 이러한 파일 중 일부는 aa ?또는 !문자로 시작합니다. 제거해야 하는데 이를 수행하는 표현식을 찾을 수 없습니다.

rm -f ./?*

그냥 다 삭제하세요. 아마도 grepls를 사용하여 파이프하고 xargs파일을 다른 폴더로 이동할 수 있지만 이를 수행하는 적절한 방법이 있기를 바랍니다. ?및 파일에 대한 도움이 필요합니다 !.

답변1

화려한 것은 필요하지 않습니다. ?전역의 일부로 간주되지 않도록 이스케이프 처리하세요 .

rm -f ./\?*

이는 다음에도 적용됩니다 !.

rm -f ./\!*

아니면 한숨에:

rm -f ./{\?,\!}*

고쳐 쓰다

나는 당신이 grep제안하고 있다는 ls사실에 주목하고 싶습니다.ls의 출력을 구문 분석하면 안 됩니다.

답변2

내 경우 이러한 문자는 실제 물음표가 아니라 내 콘솔에 표시할 수 없는 유니코드 문자입니다.

rm -i *나를 위해 작품을 사용하세요 . 이를 원하지 않는 경우 아래 설명된 대로 inode별로 삭제할 수도 있습니다.http://www.cyberciti.biz/tips/delete-remove-files-with-inode-number.html.

인덱스 노드를 찾으려면 다음을 사용하십시오.

ls -il

그런 다음 다음을 수행하십시오.

find . -inum [inode-number] -exec rm -i {} \;

관련 정보