2017-02-17 7 views
1

트리 구조의 중첩 된 디렉토리 세트가 있고 트리의 모든 디렉토리에는 "덤프"라는 다른 디렉토리가 있습니다.경로 목록이 포함 된 파일 만들기 (중첩 된 디렉토리)

"덤프"디렉토리에 대한 모든 경로가있는 "경로"라는 파일을 만들고 싶습니다. 각 파일은 새 행으로 구분됩니다.

내 시도는 다음과 같습니다

echo ./*/*/*/dump | cat >paths 

작품의 이런 종류의,하지만 경로는 새로운 라인으로 분리되지 않습니다. 어떻게하면 에코와 고양이를 사용하여 이것을 할 수 있습니까?

+0

나는 단 하나입니까, 당신을 얻지 못했습니까? '/.../.../.../.../ dump' 파일을 만들고 싶습니까? 또는 해당 경로가 포함 된 파일을 만들려고합니까? 그'/..../../ dump' 행의 소스 입력은 어디에 있습니까? – Kent

+0

@Kent 해당 경로를 포함하는 파일을 만들고 싶습니다. – valerio

답변

1

로 파일에 기록 대신 find를 사용할 수 있습니다

find . -type d -path '*/dump' > paths 

또는 그 외의 경우 echoglobprintf으로 대체하십시오.

printf "%s\n" ./*/*/*/dump >paths 
+1

나는 printf가있는 것을 좋아하지만, 가장 단순하고 가장 우아한 해결책이라고 생각합니다. – valerio

1
시간 ( -n1)에서 xargs 한 줄에 글로브와 파이프 그것으로 echo를 사용

echo ./*/*/*/dump | xargs -n1 > file 
+0

@ jm666 : 그렇다면'xargs'는 null로 분리 된 값으로 읽을 수 있습니다. 따라서'xargs'에 파이프를 그렇게 할 수는 없습니다. 제안이 있으십니까? 아니면 할 수 없습니까? – Inian