문제

옥텟 형식으로 사용 권한을 표시하는 별명을 만들었습니다.

alias lso="ls -l | awk '
{
  k=0;
  for (i=0;i<=8;i++)
    k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));
  if (k)
    printf("%0o ",k);
  print
}'
.

i 또한이 코드를 추가하여 LS를 컬러 형식으로 표시합니다.

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
.

제가 궁금해하고 있는게 컬러 형식으로 별칭을 표시하는 방법은 무엇입니까? 또한 누구든지 별칭의 구문을 설명 할 수 있다면 (파이프 후)?나는 그 텍스트를 복사하고 그것과 같은 명령을 합성 할 수있는 방법을 배우려고합니다.

도움이 되었습니까?

해결책

OSX와 함께 제공된 기본 ls는 BSD에서 제공되며 원하는 것을 할 수 있습니다.

"Nofollow"> CoreUtils ls (MacPort와 함께 설치됨) gls를 사용하여 색상을 얻을 수 있습니다.

ls -l --color=always | awk '
{
  k=0;
  for (i=0;i<=8;i++)
    k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));
  if (k)
    printf("%0o ",k);
  print
}'
.


awk 부분 정보 :

  • --color=always 파일 사용 권한을 9 자로 출력합니다.그래서 루프가 있습니다.
  • char 중 하나 (증가 인덱스, 1 char 길이 하위 문자열)
  • 각 단계에서 반환합니다.
  • ls는 char를 char를 변환합니다. substr 또는 ~/[rwx] 또는 r
  • 작동은 소수점
  • 를 가져 오는 작업을 수행합니다.
  • w
  • 전에 계산 된 10 진수의 10 진 값의 8 진한 결과를 인쇄합니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 apple.stackexchange
scroll top