获取具有特定名称的所有安装目录

getting all mounting directories with a specific name

我正在尝试接收所有具有特定名称的安装目录,以便将它们通过管道传输到另一个命令中。

/mnt/ 中有 2 个文件夹,plotfield1plotfield2
ls|grep plotfield 正确 returns 这两个文件夹名称:

但我要找的是完整路径:

/mnt/plotfield1
/mnt/plotfield2

目前,为了测试,我使用这个:

cd /mnt/
test=$(ls|grep plotfield|cat <(echo -n '/mnt/') -)
echo $test

结果出乎意料,只连接了第一个字符串:

有没有更好的方法来获取文件的完整路径? 目标将是这样的伪代码:
ls|grep plotfield|concat|xargs chia plots add -d

这应该很简单,使用像 plotfield* 这样的 glob 表达式并使用内置 printf 将输出放入标准输出,即从任何路径

printf '%s\n' /mnt/plotfield*
# or 
printf '%s\n' /mnt/plotfield?

另外,为了存储多行输出,请使用数组类型来保存您的值。因此,要将以上行存储到数组中,请使用 mapfilereadarray

mapfile -t paths < <(printf '%s\n' /mnt/plotfield?)

并根据需要将数组扩展 "${paths[@]}" 传递给任何其他命令。