在一行中向所有目录添加一个文件



我需要将file.txt添加到所有根目录并显示它们的路径

我试图使用

touch /home/folder1/file.txt & touch /home/folder2/file.txt etc.

但也许有人能帮我使它更简单?

如果您的shell支持它(大多数shell都支持,例如Bash和Zsh),您可以使用大括号展开,例如:

touch /home/folder{1..10}/file.txt

简单一-

touch /home/{folder1,folder2}/file.txt

这被称为扩展,这是另一个类似问题的答案- https://unix.stackexchange.com/questions/435621/bash-brace-expansion-after-a-path-slash

Ben Voigt的答案本质上是一样的——尽管它也向你展示了如何使用一系列数字…

我的答案完全符合你的要求,但是如果你想要文件夹1-10,那么Ben的答案更好…

无论文件夹名称如何,您都可以使用xargs来完成此操作。(我真的希望文件夹名称不是folder1, folder2,…)

ls -d */ | xargs -I {} touch {}/text.txt 

这将在所有目录中创建一个text.txt文件。ls -d */在那里,所以只有目录受到影响。

相关内容

  • 没有找到相关文章

最新更新