封面来自 Luba Ertel
在日常工作或生活中,复制粘贴的使用率很高。有时你突然需要之前复制的内容,如果有历史记录可以阅读和搜索,那将非常方便。
一个简单的 shell 脚本就可以做到这一点!
当脚本在后台运行时,它每 2 秒读取一次剪贴板,比较本地保存的记录内容,如果尚未保存,则将当前剪贴板内容附加到文件末尾。
文件以日期命名(可以在以下脚本中轻松修改,请参阅 OUTPUT_FILE
),以便于存储和归档。
实现
新建一个 clipboard.sh
脚本文件
clipboard.sh1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| #!/bin/bash
DATE=$(date +%Y-%m-$%d)
OUTPUT_FILE=~/Documents/$DATE.txt
if [ ! -f "$OUTPUT_FILE" ]; then touch "$OUTPUT_FILE" fi
while true; do
CURRENT_DATE=$(date +%Y-%m-$%d) if [ "$DATE" != "$CURRENT_DATE" ]; then DATE=$CURRENT_DATE OUTPUT_FILE=~/Documents/$DATE.txt fi
if [ ! -f "$OUTPUT_FILE" ]; then touch "$OUTPUT_FILE" fi
CLIPBOARD_CONTENT=$(pbpaste)
if ! grep -Fxq "$CLIPBOARD_CONTENT" "$OUTPUT_FILE"; then
echo -e "$CLIPBOARD_CONTENT\n" >>"$OUTPUT_FILE"
fi
sleep 2 done
|
为 clipboard.sh
赋予可执行权限
运行
查看
可以使用 Shell 或者是 编辑器(例如 VS Code)查看脚本保存的文档内容。
tail1
| tail -f ~/Documents/2024-09-03.txt
|
相关软件推荐
市面上已经有很好用的剪贴板历史插件了。
PasteNow 付费版本支持 iCloud 同步,对于跨设备查阅历史比较友好。