[bash] ls 명령 : 파일 당 한 줄씩 재귀 전체 경로 목록을 얻는 방법은 무엇입니까?

반복적 인 한 줄당 경로의 평평한 목록을 추출하려면 어떻게해야합니까?

예를 들어, 전체 경로를 가진 플랫 파일 목록을 원합니다.

/home/dreftymac/.
/home/dreftymac/foo.txt
/home/dreftymac/bar.txt
/home/dreftymac/stackoverflow
/home/dreftymac/stackoverflow/alpha.txt
/home/dreftymac/stackoverflow/bravo.txt
/home/dreftymac/stackoverflow/charlie.txt

ls -a1 거의 필요한 것을 수행하지만 경로 조각을 원하지 않고 전체 경로를 원합니다.



답변

정말로를 사용하려면 lsawk를 사용하여 출력 형식을 지정하십시오.

ls -R /path | awk '
/:$/&&f{s=$0;f=0}
/:$/&&!f{sub(/:$/,"");s=$0;f=1;next}
NF&&f{ print s"/"$0 }'


답변

찾기 사용 :

find .
find /home/dreftymac

파일 만 원하는 경우 (디렉토리, 장치 등 생략) :

find . -type f
find /home/dreftymac -type f


답변

ls -ld $(find .)

수정 시간별로 출력을 정렬하려는 경우 :

ls -ltd $(find .)


답변

다음과 같은 간단한 방법을 시도하십시오.

find "$PWD"


답변

가장 좋은 명령은 다음과 같습니다. tree -fi

링크를 사용하지 않고 파일을 사용하려면 >출력에서 제거 해야합니다.

tree -fi |grep -v \>

각 파일의 특성을 알고 싶다면 (예를 들어 ASCII 파일 만 읽으려면) 두 개의 whiles를 사용하십시오.

tree -fi | \
grep -v \> | \
while read first ; do
    file ${first}
done | \
while read second; do
    echo ${second} | grep ASCII
done


답변

오, 정말 긴 답변 목록입니다. 그것은 많은 도움이되었고 마침내 내가 찾고있는 내 자신을 만들었습니다.

디렉토리 및 해당 서브 디렉토리의 모든 파일을 나열하려면 다음을 수행하십시오.

find "$PWD" -type f

디렉토리 및 해당 서브 디렉토리의 모든 디렉토리를 나열하려면 다음을 수행하십시오.

find "$PWD" -type d

디렉토리와 하위 디렉토리에있는 모든 디렉토리와 파일을 나열하려면

find "$PWD"


답변

나는 전체 경로를 모르지만 -R재귀에 사용할 수 있습니다 . 또는에 구부러지지 않은 경우 할 ls수 있습니다 find *.