不用逐个打开文件,也能搜索、筛选与批量修改
搜索不只是更快地找文件,而是一种理解项目的方式。
搜索就是向项目提问
描述名称、文本、类型或起始路径,让目录树返回证据。面对陌生项目时,可以用越来越窄的问题逐步建立地图。
先准备一个安全的小样本
创建示例文件并复制一份,再把副本中的 alpha 改成 beta。在已知答案的数据上练习,最容易发现搜索或替换是否偏离目标。
先用这个内容创建文件
project=alpha
status=draft
owner=Max
note=rename images before release
install md code copy find replace stat attrcd lil-playgroundmd project/searchcode project/search/notes.txt -ncopy project/search/notes.txt project/search/notes-2.txtreplace alpha beta project/search/notes-2.txt -w文件名和文件内容是两个维度
-f 查名称,-t 查文本;路径、扩展名和大小写共同定义问题的边界。
find notes -f -p project/searchfind draft -t -p project/searchfind owner -t -e txt -p project/search先缩小,再扩大
从可能包含答案的最小目录开始。可理解的小结果集,比复杂的全局搜索更安全。
find project -F -p .find status -t -h -p project/searchfind Max -t -c -p project/search批量替换应该先成为报告
replace draft reviewed project/search -r -e txtreplace draft reviewed project/search -r -e txt -w -bfind reviewed -t -p project/search元数据也是证据
stat project/search/notes.txtattr project/search/notes.txt sizeattr project/search/notes.txt mime验证过的转换就是一项小技术
把搜索、预览、写入和再次检查保存为 .lil。真正可迁移的知识,是你理解的可重复流程。
把它保存成脚本
确认预览无误后,把这段保存为 review-status.lil。
#lil
@install find replace stat attr
cd lil-playground
find draft -t -p project/search
replace draft reviewed project/search -r -e txt
replace draft reviewed project/search -r -e txt -w -b
find reviewed -t -p project/search
stat project/search/notes.txt