ls -Al 출력을 구문 분석하고 파일 또는 디렉터리 이름을 가져와야 함

ls -Al 출력을 구문 분석하고 파일 또는 디렉터리 이름을 가져와야 함

출력을 구문 분석 ls -Al하고 파일 또는 디렉터리 이름을 가져와야 합니다.

ls -Al산출:

drwxr-xr-x  12 s162103  studs         12 march 28 2012 personal domain
drwxr-xr-x   2 s162103  studs          3 march 28 22:32 public_html
drwxr-xr-x   7 s162103  studs          8 march 28 13:59 WebApplication1

그냥 사용해야겠네요ls -Al | <something>

예를 들어:

ls -Al | awk '{print $8}'

$8하지만 디렉터리 이름에 공백이 있으면 이름이 아니라 이름의 일부이기 때문에 작동하지 않습니다 . 어쩌면 성이나 그 앞에 오는 모든 것을 제거할 수 있는 유틸리티가 있을까요?

답변1

ls파일 이름 목록을 구문 분석하려고 시도해서는 안 됩니다 . bash 위키에는전체 기사공백을 포함하는 것은 .files를 구문 분석하지 말아야 하는 ls가장 큰 이유 중 하나입니다 .

당신이 사용하고 싶은 glob:

printf '%s\n' *

귀하의 질문은 파일 이름을 인쇄하고 싶다는 의미일 뿐이지만 이에 대한 조치도 취하고 싶은 것 같습니다. 이 경우 glob을 반복해야 합니다.

for f in *; do
    somecommand "$f"
done

관련 정보