gpt4 book ai didi

shell - 使用 Automator.app 逐行读取文本文件

转载 作者:行者123 更新时间:2023-12-04 21:45:52 25 4
gpt4 key购买 nike

我是编码新手,所以请耐心等待。

我使用 Automator (OSX) 创建了一个工作流,它运行良好。我唯一的问题是我希望它在多个输入上运行(即作为一个批处理)。我已经插入了循环操作,但我遇到的问题是每次都更改初始输入。

我想每次使用一个applescript来自动插入初始输入。

我有一个带有 URL 的 TXT 文件。使用苹果脚本,我想将一个 URL(或一行文本)复制到剪贴板。在下一次迭代中,我想复制下一个 URL(或文本行)。

谁能帮忙?

谢谢!!

最佳答案

您可以创建一个循环的工作流程(称为 LinesToClipboard.workflow)会做什么

  • 从文本文件(不是 rtf 或 doc)中获取一行
  • 将该行复制到剪贴板
  • 运行您当前的工作流程
  • 再次循环到下一行

工作流程:

  • 创建新的自动化工作流程
  • 创建一个变量
    • 在底部找到“显示或隐藏工作流变量列表”图标并显示工作流变量(空)
    • 右键单击并“新建变量...”
    • 将变量命名为“LineNumber”
  • 添加操作:
    • 获取变量的值 (LineNumber)
    • 运行 Shell 脚本
    • shell :/bin/bash
    • 重要:将Pass input改为as arguments
    • 添加以下内容(准确复制,包括所有引号等):
    • 在脚本内容中,将 /etc/passwd 更改为文件名的完整路径,例如 /Users/myname/Documents/myfile.txt<
    • 在此操作结束时,剪贴板将包含文件中的一行
linenum=${1:-0}
filename="/etc/passwd" # full path of your text-filename
let linenum++
sed -n "${linenum}p" < "$filename" | pbcopy
echo $linenum
  • 设置变量值 (LineNumber)
  • 运行工作流程 - 添加您当前的工作流程(或“ShowClipboard.workflow” - 见下文)
    • 应该检查等待工作流完成
    • 重要输出菜单应为:“返回操作输入”
  • 循环
    • 添加您的计数...
  • Run Shell Script(忽略此 Action 的输入),内容一行:echo 0(循环结束时将变量 LineNumber 重置为零)<
  • 设置变量值 (LineNumber)

为了测试,您可以创建另一个名为 ShowClipboard.workflow 的工作流,其内容为:

  • 获取剪贴板内容
  • 设置变量值 (clipval)
  • 要求确认(并将(clipval)拖到Message字段中)

运行第一个工作流。

截图(当然):)

enter image description here

第二个工作流程(用于测试)

enter image description here

关于shell - 使用 Automator.app 逐行读取文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24853112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com