我正在寻求有关优化以下命令的帮助,但如果将来可能对任何人有帮助,也请在此处编写以供参考。
我想浏览当前文件夹中的所有.swift
文件,然后递归地继续处理所有子文件夹中的文件,然后执行以下操作:
N
(低于7)第一行//
)答案 0 :(得分:1)
我想出的解决方案是受this answer的启发,并得到@EdMorton的认可,但是可以读取多行文本以从文件而不是echo
开头字符串。
这仅在路径中没有空格的情况下才有效。
您可以将其复制粘贴到终端中,用您要删除的行替换8
,并用您想要的内容将~/Desktop/TextToPrepend.txt
替换为文件路径
find . -name '*.swift' | while IFS= read -r f; do
cp ~/Desktop/TextToPrepend.txt tmpfile &&
tail -n +8 "$f" >> tmpfile &&
mv tmpfile "$f"
done
允许留有n个路径而不需要使用文件会更好,而是采用就地多行解决方案,但是我遇到了换行符和转义//
的问题。
我刚刚将其用于replace the file header for ALL Swift files in an open source iOS Zilliqa wallet called "Zhip"。
Xcode中文件标头的标准是在每行以注释//
开始。
通过将文件IDETemplateMacros.plist
添加为suggested by this guide来启动项目。