linux - 连接查找结果

标签 linux bash find

我正在尝试连接 Bash 中 find 的结果。所以我得到了以下代码:

c="sh -content_image in.jpg, style_image "

find t/Pictures -name "*.jpg"| while read line; do
    c=${c}",",
    c=${c}"$line"
    echo $line

 done

echo $c

这首先打印 t/Pictures 中的所有文件,然后打印字符串 sh -content_image in.jpg, style_image。虽然它应该做的是首先打印所有文件,然后打印该字符串,然后打印所有

所以当前的输出如下所示:

t/Pictures/nature/ActiOn_89.jpg
t/Pictures/nature/ActiOn_27.jpg
t/Pictures/nature/ActiOn_47.jpg
t/Pictures/nature/ActiOn_54.jpg
sh -content_image in.jpg, style_image

但我也希望它看起来像

t/Pictures/nature/ActiOn_89.jpg
t/Pictures/nature/ActiOn_27.jpg
t/Pictures/nature/ActiOn_47.jpg
t/Pictures/nature/ActiOn_54.jpg
sh -content_image in.jpg, style_image t/Pictures/nature/ActiOn_89.jpg,t/Pictures/nature/ActiOn_27.jpg,t/Pictures/nature/ActiOn_47.jpg,t/Pictures/nature/ActiOn_54.jpg

知道我做错了什么吗?

最佳答案

你可以这样做:

c="sh -content_image in.jpg, style_image "

while IFS= read -rd '' line; do
    echo "$line"
    c+="$line,"
done < <(find t/Pictures -name "*.jpg" -print0)

# strip trailing comma
c="${c%,}"

关于linux - 连接查找结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43099804/

相关文章:

linux - ubuntu启动黑屏

c - strcpy错误的原因是什么

c - Linux/bash 中程序返回值的有效范围是多少?

python - 如何在多个列表中查找相同的项目?

linux -/usr/bin/找到 : Argument list too long in for loop bash script

bash - 使用 shell 变量查找具有多个文件名的名称

sql-server - 如何编写 bash 和 sql 文件来设置 postgres 用户?

java - 将 env 变量从文本文件(bash 样式)导入 Java

c - 使用c语言发送向上向下箭头键以通过linux中的管道进行处理

linux - 如何向 docco.coffee 添加 DL 支持?