find 명령을 사용하여 절대 경로를 얻는 방법.
실제로 나는 다음 스크립트를 실행 중입니다 :-
find . -size +20M | while read a
do
i=$(echo $a | sed 's:/: :g')
echo $a;
j=($i)
fileName=${j[${#j[@]}-1]}
userName=${j[${#j[@]}-3]}
done
그러나 여기 $a
에서 시작하는 경로를 보여주는 변수이지만에서 ./Downloads/filename
절대 경로를 원합니다 /
.
답변
절대 경로와 함께 find를 사용하십시오.
find /path/ -size +20M
전체 경로를 인쇄합니다.
작업 디렉토리를 모르는 경우 다음 pwd
과 같이 명령 대체를 사용 하십시오.
find "`pwd`" -size +20M
#or like this:
find "$(pwd)" -size +20M
작업 디렉토리를 얻으려면
어쨌든, 배쉬 맨은 이제 $()
이상 사용을 권유 ``
하므로 두 번째 양식을 사용해야합니다. $PWD
스크립트의 작업 디렉토리가 포함 된 변수를 직접 참조 할 수도 있고 루프에서 사용해야하는 경우 더 빠를 수 있습니다.
find "$PWD" -size +20M
답변
pwd
명령을 사용 하거나 파일을 인쇄 할 수 있습니다 realpath
.
$ find "$(pwd)" -size +20M
$ find . -size +20M -exec realpath {} +
두 명령은 모두 파일의 절대 경로를 제공합니다.
답변
절대 경로를 사용하여 7 일이 지난 모든 PNG 및 JPEG 파일을 나열합니다.
$ find $PWD/ -mtime -7 -print -exec grep -e ".png\|.jpg" {} \;
$PWD
일치하는 모든 파일에 여기에 추가됩니다.