2016-07-11 4 views
0

私はbashを学ぶ学生です。私は現在、追加のスクリプトを実行する一連の絶対パスを印刷しようとしています。bashを使ったファイルパスの印刷

現在echo $PWD, *Inは機能しません。 私のファイル構造は次のようになります。

/home/hayden/myProject/gene 

このディレクトリ内にはいくつかのフォルダがありますが、私は特に3つに興味があります。

/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 

のようなルックスに

はあなたに

EDITありがとう:@Afleソリューションは成功しました。

+1

おそらく 'ls $ PWD/* In/*。fa'ですか? – yellowantphil

+2

タスクがこれに特に 'bash'を使用していない場合、私はUnixツール' find'を使うことを提案します: 'find/home/hayden/myProject/gene/-name '* .fa"。 – Alfe

+1

あなたの質問は**パスを見つける方法**またはパスを抽出する**方法**です。 –

答えて

1

標準のLinux findユーティリティを見てください。 bashだけでなく、どのシェルでも作業しているときは、あなたの友人になります。ディレクトリ内でファイルを再帰的に見つける一般的なユーティリティです。あなたの特定のケースで

、あなたのような何かをしたい:

/ホーム/ヘイデン/ MyProjectと/遺伝子-name見つける '*の.Fa' を

これは、ホーム/下任意のファイルを検索します/ hayden/myProject/geneの名前が ".fa"で終わっている(たとえそれらが "gene"より下の複数のレベルであっても)。

ファイルが正確にあなたの事例であることを知っていれば、 bashのglob'ingと表示されます。

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

関連する問題