찾기 명령: 파일 번호 표시 [해제]

찾기 명령: 파일 번호 표시 [해제]

find이 명령에 대해 몇 가지 질문이 있습니다 .

  1. /var 디렉토리(및 그 이하) 내에서 사용자 또는 루트가 아닌 다른 사람이 소유한 파일 및 디렉토리 수(결과 번호만)를 표시하는 방법.

  2. 위와 동일하지만 이번에는 사용자 수를 보여줍니다.

  3. 출력 번호와 함께 다른 소유자(알파벳순)를 표시하도록 명령을 수정합니다. 다음과 같아야 합니다.

   avahi-autoipd 1개
   2가지 색상
   데몬 3개
   4 목차
   5 라이브러리 UID
   6LP
   7명
   8미터 DM
   9ntp
  10 음성 디스패처
  11 시스템 로그

각 질문에는 3개의 개별적이지만 매우 유사한 명령줄을 사용해야 합니다.

편집 : 내가 직접 알아 냈어 sudo find /var/ -not -user root -not -user myusername | wc -l

sudo find /var/ -not -user root -not -user myusername -printf '%u\n' | sort -u | wc -l
sudo find /var/ -not -user root -not -user myusername -printf '%u\n' | sort -u

이 명령줄은 동일한 작업을 수행합니다. 1부:

sudo ls -oAu1QBR /var | tr -s ' ' | cut -d' ' -f3 | grep -Ev '(\"|root|^[[:space:]]*$)' | grep -v ${USER} | wc -l

2 부:

sudo ls -oAu1QBR /var | tr -s ' ' | cut -d' ' -f3 | grep -Ev '(\"|root|^[[:space:]]*$)' | grep -v ${USER} | sort -u | wc -l

세 번째 부분:

sudo ls -oAu1QBR /var | tr -s ' ' | cut -d' ' -f3 | grep -Ev '(\"|root|^[[:space:]]*$)' | grep -v ${USER} | sort -u | nl

답변1

내가 좋아한다고 말한 적 있었나?zsh에 대한 glob 한정자?

files_in_var_not_owned_by_me_or_root=(/var/**/*(^u0u$UID))
echo $#files_in_var_not_owned_by_me_or_root

typeset -U owners_of_files_in_var
zstat -s -A owners_of_files_in_var +uid -- $files_in_var_not_owned_by_me_or_root
echo $#owners_of_files_in_var

i=1
for x in ${(o)owners_of_files_in_var}; do
  printf '%4d  %s\n' $((i++)) $x
done

관련 정보