在多个目录中创建和编辑不存在的文件的更快更简单的方法

在多个目录中创建和编辑不存在的文件的更快更简单的方法

假设我有这棵树

$ tree
.
├── 1
│   └── notes
├── 2
│   └── notes
├── 3
└── 4

4 directories, 2 files

我想编辑现有notes文件,以及在&中创建和编辑notes文件。34

如果我使用nvim */notes,则仅打开1/notes& 。2/notes

当我运行时,没有创建touch */notes新文件。notes

目前,创建和编辑新文件的唯一方法是使用for循环:for i in $(ls); do touch $i/notes; done。然而,这相当长,而且打字起来很痛苦。

是否有更快更简单的方法来创建和编辑新文件?如果它可以在单个命令中完成并且/或者是 (n)vim 内置命令,那就更好了。

答案1

对于这种特定情况,您可以使用 shell 的{...}语法来涵盖替代方案列表。

$ nvim {1,2,3,4}/notes

更方便的是,因为它们是数字,所以您可以将其作为范围传递,当您开始拥有数十或数百个数字时(假设它们是序列中的数字),这很方便:

$ nvim {1..4}/notes

这不是一个非常通用的解决方案,而且它并没有真正检查目录是否实际存在,或者使用现有目录作为输入,这并不是很好...但在您的特定情况下可能会很方便。

除此之外,我实在想不出比for循环更好的东西了。

相关内容