awk 명령을 사용하여 디렉토리 만 인쇄하려고합니다. 내가 적절한 정규식 일치 만든 그래서 현재와 부모 디렉토리를 인쇄하지 않을 : 제대로awk 명령으로 디렉토리 만 인쇄하는 방법
ls -la | awk '$1 ~ /[d].*/ && $9 !~ /^\.$/ && $9 !~ /^\.\.$/ { print $1"\t"$9 } '
코드가 작동을하지만 난 이런 식으로, 더 읽을 수 있도록 원 :
ls -la | awk '$1 ~ /[d].*/ && $9 !~ /^\.{1,2}$/ { print $1"\t"$9 } '
불행히도 두 번째 경기는 효과가 없습니다.
하나 또는 두 개의 숫자와 일치하도록 정의하는 방법 점 s?
을 왜 그냥 두어도
또는 'ls -lA'를 사용하면'.'과'..'에 대한 항목을 제외시킬 수 있습니까? – larsks
네, 지금까지 구현 된 명령을 사용하는 것이 더 낫지 만 그들에 대해 알아야합니다 ... 응답 해 주셔서 감사합니다. 나는 당신의 명제를 사용할 것이다. 그러나 나는 아직도 나의 정규 표현식이 그것의 목적을 달성하기 위해 어떻게 적절하게 정의되어야하는지 의아해하고있다. 나 – Dominik
두 작품, 내가 힌트 : 내 질문에 대한 대답은 '1!입니다 -la의 사용을 만들 것입니다 | awk '$ 1 ~/[d].*/{print $ 1 "\ t"$ 9} '' – michaeltang