IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    30+ 行代码即可保存剪贴板历史

    Lynan发表于 2024-09-03 13:46:50
    love 0

      封面来自 Luba Ertel

    在日常工作或生活中,复制粘贴的使用率很高。有时你突然需要之前复制的内容,如果有历史记录可以阅读和搜索,那将非常方便。

    一个简单的 shell 脚本就可以做到这一点!

    当脚本在后台运行时,它每 2 秒读取一次剪贴板,比较本地保存的记录内容,如果尚未保存,则将当前剪贴板内容附加到文件末尾。

    文件以日期命名(可以在以下脚本中轻松修改,请参阅 OUTPUT_FILE),以便于存储和归档。

    实现

    新建一个 clipboard.sh 脚本文件

    clipboard.sh
    1
    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 赋予可执行权限

    1
    chmod +x clipboard.sh

    运行

    1
    ./clipboard.sh

    查看

    可以使用 Shell 或者是 编辑器(例如 VS Code)查看脚本保存的文档内容。

    tail
    1
    tail -f ~/Documents/2024-09-03.txt

    相关软件推荐

    市面上已经有很好用的剪贴板历史插件了。

    Raycast

    PasteNow

    PasteNow 付费版本支持 iCloud 同步,对于跨设备查阅历史比较友好。



沪ICP备19023445号-2号
友情链接