ファイルパスを入力として受け取るシェル スクリプトを作成しています。
このため、完全なパスを含む再帰的なファイル リストを生成する必要があります。たとえば、ファイルのbar
パスは次のようになります。
/home/ken/foo/bar
しかし、私が見る限り、とls
はどちらもfind
相対パスのリストのみを提供します。
./foo/bar (from the folder ken)
明らかな要件のように思えますが、find
またはls
マニュアル ページには何も記載されていません。
シェル内で絶対パスを含むファイルのリストを生成するにはどうすればよいでしょうか?
ベストアンサー1
最初に絶対パスを指定するとfind
、絶対パスが出力されます。たとえば、現在のディレクトリ内のすべての .htaccess ファイルを検索するには、次のようにします。
find "$(pwd)" -name .htaccess
または、シェルが$PWD
現在のディレクトリに展開される場合:
find "$PWD" -name .htaccess
find
指定されたパスを、そのパスからのファイルへの相対パスの先頭に追加するだけです。
グレッグ・ヒューギルpwd -P
現在のディレクトリ内のシンボリックリンクを解決する場合にも使用することをお勧めします。