드라이브를 지우고 Windows를 다시 설치해야 했으며, 이를 위해서는 cygwin도 다시 설치해야 했습니다.
나의 새로운 설치에서는,
ls -l "*\'*"
반품
ls: cannot access '*\'\''*': No such file or directory
지금까지 수년 동안 ls -l *\'*
사용자가 파일이나 디렉터리 이름에 작은따옴표를 포함시킨 디렉터리 및 파일 목록이 제공되었습니다.
이 경우 내가 놓칠 수 있는 사항에 대한 제안 사항이 있습니까?
예를 들어, coreutils는 이름에 공백이 있는 파일이 "이 파일에 공백이 포함되어 있습니다"라고 표시되도록 일부 변경을 했으며 스위치/변수를 사용하여 꺼야 했습니다.
작은따옴표와 관련하여 표준 사용법과 유사한 변경 사항이 있는지 궁금합니다.
답변1
*
와일드카드로 사용하려면 인용할 수 없습니다. 작은따옴표와 큰따옴표 모두 이스케이프됩니다.
큰따옴표는 작은따옴표도 이스케이프 처리되므로 전체 문자열이 *\'*
문자 그대로 해석됩니다.
$ echo "*\'*"
*\'*
나중에 질문에서 쓴 것처럼 큰따옴표 없이 문자열을 작성하려고 합니다.
ls -l *\'*
여러분에게 더 잘 맞는 또 다른 방법은 명령을 사용하는 것입니다 find
. (위와 동일한 인용 규칙을 따르지 않으므로 혼란을 드려 죄송합니다.) find를 사용하면 다음을 사용하여 디렉터리 구조에서 작은따옴표가 포함된 모든 파일을 반복적으로 검색할 수 있습니다.
find . -name "*'*"
이 예에서는 .
현재 있는 디렉터리를 나타내지만 검색하려는 디렉터리의 경로로 바꿀 수 있습니다.