微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

bash – 如何在SINGLE行中输出用引号包围的文件名?

我想以下列方式输出文件夹中的项目列表:
"filename1"  "filename2" "file name with spaces" "foldername" "folder name with spaces"

换句话说,项目名称必须在一行中,用引号(单或双)包围,并用空格分隔。

我知道

find . | xargs echo

打印一行中的输出,但我不知道如何在每个项目名称周围添加引号。

代码是bsh脚本的一部分。
因此,解决方案可以是一组命令,并使用用于存储中间输出的临时文件

非常感谢任何建议。

干杯,安娜

这应该工作
find $PWD | sed 's/^/"/g' | sed 's/$/"/g' | tr '\n' ' '

编辑:

这应该比以前更有效率。

find $PWD | sed -e 's/^/"/g' -e 's/$/"/g' | tr '\n' ' '

@ Timofey的解决方案最终将与tr一起工作,应该是最有效率的。

find $PWD -exec echo -n '"{}" ' \; | tr '\n' ' '

原文地址:https://www.jb51.cc/bash/387776.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐