我是 Linux 新手。我想知道您是否可以使用程序的输出(以逗号分隔的值)作为将用于大括号扩展的值。
我主要尝试通过触摸来做到这一点,但开始使用 echo 来测试不同的方法,但没有成功。基本方法是
echo b/{$(find sourceFolder -type f -printf "%f,")}
我也试过 cat 但得到了相同的结果。 find 的输出用作大括号的单个值,而不是多个逗号分隔值。我用
验证了这一点echo b/{$(find sourceFolder -type f -printf "%f,"),otherValue}
有了这个我得到 2 个输出 b/(用逗号分隔值列表从 find 中找到)和 b/otherValue
我能够在当前工作文件夹中通过触摸创建文件,我想看看是否可以在另一个文件夹中执行此操作。
最佳答案
令人沮丧的是大括号扩展是在之前变量扩展执行的。因此,您需要一种不同的方法。考虑:
find sourceFolder -type f -printf "b/%f\n"
这会将 b/
放在每个找到的文件名前面,并且不需要大括号扩展。
关于linux - 是否可以使用程序输出作为大括号扩展的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55383004/