假设我有这棵树
$ tree
.
├── 1
│ └── notes
├── 2
│ └── notes
├── 3
└── 4
4 directories, 2 files
我想编辑现有notes
文件,以及在&中创建和编辑notes
文件。3
4
如果我使用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
循环更好的东西了。