Mac操作集锦

  |  

摘要: 记录以下 Mac 上的一些实用操作,以及报错解决的记录,备忘。

【对数据分析、人工智能、金融科技、风控服务感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:潮汐朝夕
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


特性

在命令行中打开软件

  • 命令行打开 finder

在当前目录下执行以下命令,即可打开 Finder 并定位当前目录。

1
open .
  • 命令行图片浏览

图片文件为 image.png,在命令行中执行以下命令,即可用 Mac 原生的 preview 打开图片。

1
open image.png

软件

画图 paintbrush

1
brew install paintbrush

之后可以从软件中心打开。


Gnu 命令行工具 — 覆盖 mac 自带的命令行工具

GNU Coreutils

不包含sed,主要包含一些基本的命令,例如 ls, cat。

1
brew install coreutils

然后在 ~/.zshrc 增加以下内容,注意具体内容在安装结束后有提示,可能会不一样:

1
2
3
4
# 添加 gnu 软件的目录
export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH"
# 添加 gnu 软件的使用手册目录
export MANPATH="/opt/homebrew/opt/coreutils/libexec/gnuman:$MANPATH"

gnu-sed

Mac 中 sed 的问题

在 macOS 中跑 linux 下的 sed 脚本 sed -i "s/find/replace/g" file.txt 会报错:

1
sed: 1: “file.txt”: extra characters at the end of p command

这主要是 BSD/macOS 的 sed 和 linux(GNU) 下的 sed 对于 -i 参数的处理有微小的差异。

Linux 下 -i 参数后面的 [SUFFIX] 是可选的。

macOS 下 -i 参数后面的 extension (扩展名,后缀) 是必填参数 (且与 -i 之间要有空格隔开), 如果不想指定备份文件则必须跟一个空字符串,也就是 “sed -i “” “s/find/replace/g” file.txt”。

但是解决了这个问题,后面还有一连串问题,不如直接换成 gnu-sed 方便。

gnu-sed 的安装

1
brew install gnu-sed

然后在 ~/.zshrc 增加以下内容,注意具体内容在安装结束后有提示,可能会不一样:

1
2
# 覆盖原有的 sed 命令
export PATH="/opt/homebrew/opt/gnu-sed/libexec/gnubin:$PATH"

Share