我想获取目录中所有文件的完整路径,并且整个路径必须保存在一个文本文件中。你能给我这个脚本吗?
答案1
GNU coreutils 包含realpath
返回每个参数的完整路径的程序。以下程序打印当前目录中所有文件的全名(不扩展符号链接,-s
;不递归):
realpath -s *
根据您的 shell,隐藏的点文件不会被扩展。为此,您还需要执行shops -s dotglob
.
答案2
您应该使用readlink
(GNU coreutils 中提供):
readlink - print resolved symbolic links or canonical file names
句法:
readlink -f <file-name>
答案3
shell 变量PWD
包含当前目录的完整路径。
您可以使用printf '%s\n'
打印字符串列表,并在每个字符串后添加换行符。
printf '%s\n' "$PWD"/* >somefile.txt
通配符模式*
不包括点文件(名称以 开头的文件.
)。如果有点文件,可以使用printf '%s\n' "$PWD"/.* "$PWD"/* >somefile.txt
;请注意,这还列出了.
和..
。