Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

f2

Posted on 2025-05-25

f2

由 Ayooluwa Isaiah 开发的用于批量重命名文件和目录的非常简洁的 CLI 工具,用 Go 编写,设计用于跨平台工作。

这里面有很多很棒的设计。基本用法很直观——以下是如何将当前目录中的所有.svg文件重命名为.tmp.svg :

 f2 -f '.txt' -r '.tmp.txt' path/to/dir

f2 默认为空运行,如下所示:

 *————————————————————*————————————————————————*————————* | ORIGINAL | RENAMED | STATUS | *————————————————————*————————————————————————*————————* | claude-pelican.svg | claude-pelican.tmp.svg | ok | | gemini-pelican.svg | gemini-pelican.tmp.svg | ok | *————————————————————*————————————————————————*————————* dry run: commit the above changes with the -x/--exec flag

运行-x执行重命名。

真正酷炫的是高级功能——Ayooluwa 把一切都考虑周全了。EXIF 集成尤其精妙——这里有一个来自高级教程的示例,它重命名了一个照片库,并使用 EXIF 创建日期作为文件路径的一部分:

 f2 -r '{x.cdt.YYYY}/{x.cdt.MM}-{x.cdt.MMM}/{x.cdt.YYYY}-{x.cdt.MM}-{x.cdt.DD}/{f}{ext}' -R

-R标志表示“递归”。小写的-r使用变量语法来处理 EXIF 数据。还有很多其他选项,包括使用文件内容哈希值的哈希变量。

安装说明

我通过 Homebrew 在 Mac 上安装了 Go 1.23.2。我运行了以下命令:

 go install github.com/ayoisaiah/f2/v2/cmd/f2@latest

并出现错误:

 requires go >= 1.24.2 (running go 1.23.2; GOTOOLCHAIN=local)

因此我使用 Homebrew 升级了 Go:

 brew upgrade go

这让我升级到了 1.24.3 版本,然后go install命令生效了。它把二进制文件放到了~/go/bin/f2目录下。

还有一个 npm 包,类似于我之前写的人们在 Python 轮子中捆绑二进制工具的模式。

来源: Hacker News

标签: go 、 cli

原文: https://simonwillison.net/2025/May/24/f2/#atom-everything

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • Elad Gil
  • Ellie Huxtable
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • Henrique Dias
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Lou Plummer
  • Luke Wroblewski
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mostly metrics
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme