Linux 当文件名包含空格时,使用find列出路径
我有这个密码Linux 当文件名包含空格时,使用find列出路径,linux,bash,shell,Linux,Bash,Shell,我有这个密码 for i in $(find pwd) do echo $i done 问题是,如果文件名包含空格,它将打印在单独的行上 如何列出某个目录中的所有文件,包括包含空格的文件 IFS=$'\n' for i in $(pwd) do echo $i done 这是解决办法 IFS=$'\n' for i in $(pwd) do echo $i done 我会在阅读时使用 find.|当我读
for i in $(find pwd)
do
echo $i
done
问题是,如果文件名包含空格,它将打印在单独的行上
如何列出某个目录中的所有文件,包括包含空格的文件
IFS=$'\n'
for i in $(pwd)
do
echo $i
done
这是解决办法
IFS=$'\n'
for i in $(pwd)
do
echo $i
done
我会在阅读时使用
find.|当我读书时;不要重复$i;完成代码>
编辑:
或者,您可以只执行ls-a1
我会在阅读时使用
find.|当我读书时;不要重复$i;完成代码>
编辑:
或者,您可以只执行ls-a1
这将产生您的示例的预期效果:
find /path/to/somewhere
也就是说,不需要在其周围环绕for循环
但我猜你想要的不仅仅是回声。也许为每个文件调用一个脚本?您可以通过以下方式实现:
find /path/to/somewhere -exec path/to/script.sh {} \;
其中,{}
将为找到的每个文件名替换。这将产生您示例的预期效果:
find /path/to/somewhere
也就是说,不需要在其周围环绕for循环
但我猜你想要的不仅仅是回声。也许为每个文件调用一个脚本?您可以通过以下方式实现:
find /path/to/somewhere -exec path/to/script.sh {} \;
其中,{}
将为找到的每个文件名替换。为什么限制为$7
?如果路径包含更多空格,它将失败,对吗?awk
解决方案是非解决方案,因为您只处理目录名,而不是目录下包含的文件名。虽然基于IFS
的解决方案有效,但它只适用于不包含新行的文件名(这是罕见的,但合法的)。为什么仅限于$7
?如果路径包含更多空格,它将失败,对吗?awk
解决方案是非解决方案,因为您只处理目录名,而不是目录下包含的文件名。虽然基于IFS
的解决方案有效,但它只适用于不包含新行的文件名(这是罕见的,但合法的)。justfind pwd
有什么问题?justfind pwd
有什么问题?