Shi*_*rma 13 find shell-script filenames
如何使用 find 命令获取绝对路径。
实际上我正在运行以下脚本:-
find . -size +20M | while read a
do
i=$(echo $a | sed 's:/: :g')
echo $a;
j=($i)
fileName=${j[${#j[@]}-1]}
userName=${j[${#j[@]}-3]}
done
Run Code Online (Sandbox Code Playgroud)
但这里的变量$a
显示从 开始的路径,./Downloads/filename
但我想要从/
.
Kiw*_*iwy 19
将 find 与绝对路径一起使用。
find /path/ -size +20M
Run Code Online (Sandbox Code Playgroud)
它将打印整个路径。
如果您不知道工作目录,则使用命令替换pwd
如下:
find "`pwd`" -size +20M
#or like this:
find "$(pwd)" -size +20M
Run Code Online (Sandbox Code Playgroud)
获取您的工作目录
无论如何,似乎 Bash man 现在建议使用$()
over``
所以你应该使用第二种形式。您也可以直接引用$PWD
包含脚本工作目录的变量,如果您必须在循环中使用它可能会更快。
find "$PWD" -size +20M
Run Code Online (Sandbox Code Playgroud)
您可以使用pwd
命令或打印出文件realpath
:
$ find "$(pwd)" -size +20M
$ find . -size +20M -exec realpath {} +
Run Code Online (Sandbox Code Playgroud)
这两个命令都为您提供了文件的绝对路径。
归档时间: |
|
查看次数: |
41582 次 |
最近记录: |