ディレクトリ内のすべてのファイルのフルパスを取得したい場合は、フルパスをテキストファイルに保存する必要があります。このスクリプトを私に与えることができますか?
答え1
GNU coreutilsには、realpath
各引数のフルパスを返すプログラムが含まれています。次のプログラムは、現在のディレクトリにあるすべてのファイルのフルネームを印刷します(シンボリックリンクを拡張せずに-s
繰り返さない)。
realpath -s *
シェルによって隠されたドットファイルは拡張されません。これを行うにはshops -s dotglob
。
答え2
以下を使用する必要がありますreadlink
(GNU coreutilsで利用可能)。
readlink - print resolved symbolic links or canonical file names
通事論:
readlink -f <file-name>
答え3
シェル変数にはPWD
現在のディレクトリへのフルパスが含まれます。
printf '%s\n'
文字列リストを印刷し、各文字列の後に改行を追加するために使用できます。
printf '%s\n' "$PWD"/* >somefile.txt
ワイルドカードパターンには*
ドットファイル(名前で始まるファイル)は含まれません.
。ドットファイルが利用可能な場合はそれを使用できますprintf '%s\n' "$PWD"/.* "$PWD"/* >somefile.txt
。ここにもリストされてい.
ます..
。