2016-07-11 2 views
0

저는 배움을 배우는 학생입니다. 현재 추가 스크립트를 실행하기 위해 일련의 절대 파일 경로를 인쇄하려고합니다.bash를 사용하여 파일 경로 인쇄하기

현재 echo $PWD, *In이 작동하지 않습니다. 내 파일 구조는 다음과 같습니다.

/home/hayden/myProject/gene 

이 폴더 내에 여러 폴더가 있지만 특히 세 가지에 관심이 있습니다.

/largeIn/ 
/mediumIn/ 
/smallIn/ 

이러한 폴더 내에는 .fa으로 끝나는 이름이 다른 파일이 있습니다.

파일 경로를 txt 파일로 추출하는 간단한 방법이 있습니까? 이

/home/hayden/myProject/gene/largeIn/file.fa 
/home/hayden/myProject/gene/mediumIn/file.fa 
/home/hayden/myProject/gene/smallIn/file.fa 

같은 외모에

당신에게

편집 감사합니다 @Afle 솔루션은 성공적이었다.

+1

아마도 'ls $ PWD/* In/*. fa'입니까? – yellowantphil

+2

이 작업이 특별히'bash'를 사용하지 않는다면 유닉스 도구'find'를 사용하도록 제안합니다 :'find/home/hayden/myProject/gene/-name '* .fa''. – Alfe

+1

당신의 질문은 ** 경로를 찾거나 경로를 추출하는 ** 방법입니다 **. –

답변

1

표준 Linux find 유틸리티를 살펴보십시오. 배쉬뿐만 아니라 어떤 쉘로도 작업 할 때 그것은 당신의 친구가 될 것입니다. 이것은 디렉토리 내에서 재귀 적으로 파일을 찾는 일반적인 유틸리티입니다. 특정 경우

, 당신은 같은 것을 할 것 : '* .fa을'

찾기/홈/헤이든/MyProject를/유전자 -name을

이/집에서 어떤 파일을 찾을 수 있습니다/hayden/myProject/gene의 이름이 ".fa"로 끝나는 경우 (심지어 "유전자"아래에 여러 레벨이 있더라도)

이제 파일이 예제와 정확히 일치한다는 사실을 알고 있다면 bash의 glob'ing과 같이 그들을 참조하십시오 :

/home/hayden/myProject/gene/*In/file.fa

관련 문제