약 4,000개의 파일이 들어 있는 폴더가 있습니다. 이러한 파일 중 일부는 aa ?
또는 !
문자로 시작합니다. 제거해야 하는데 이를 수행하는 표현식을 찾을 수 없습니다.
rm -f ./?*
그냥 다 삭제하세요. 아마도 grep
ls를 사용하여 파이프하고 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 {} \;