macOS 上的 Bash - 获取给定年份每个星期六的日期列表

2024-04-17

In bash on macOS,我想写一个小脚本dates(或任何其他可以做的程序),它给我一个格式的日期列表yyyymmdd给定年份的每个星期六并将其保存到变量中。

例如,如果我想要 1850 年所有星期六的日期列表,它应该看起来像这样:

var = [ 18500105, 18500112, 18500119, …, 18501228 ]

使用以下代码:

list=()
for month in `seq -w 1 12`; do
    for day in `seq -w 1 31`; do
    list=( $(gdate -d "1850$month$day" '+%A %Y%m%d' | grep 'Saturday' | egrep -o '[[:digit:]]{4}[[:digit:]]{2}[[:digit:]]{2}' | tee /dev/tty) )
    done
done

然而,上面的命令并没有在数组中写入任何内容list虽然它给了我正确的输出tee.

我该如何解决这些问题?


修改丹尼斯·威廉姆森的回答 https://stackoverflow.com/a/5043700/5291015稍微满足您的要求并将结果添加到数组中。适用于 GNUdate而 FreeBSD 的版本则不然。

#!/usr/bin/env bash
y=1850

for d in {0..6}
do
    # Identify the first day of the year that is a Saturday and break out of
    # the loop
    if (( $(date -d "$y-1-1 + $d day" '+%u') == 6))
    then
        break
    fi
done

array=()
# Loop until the last day of the year, increment 7 days at a
# time and append the results to the array
for ((w = d; w <= $(date -d "$y-12-31" '+%j'); w += 7))
do
    array+=( $(date -d "$y-1-1 + $w day" '+%Y%m%d') )
done

现在您可以将结果打印为

printf '%s\n' "${array[@]}"

设置 GNUdate在 MacOS 上你需要做brew install coreutils并访问命令为gdate以将其与提供的本机版本区分开来。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

macOS 上的 Bash - 获取给定年份每个星期六的日期列表 的相关文章

  • 在 bash 脚本中使用源时出现“源:未找到”错误

    我正在尝试编写 我认为的 一个简单的 bash 脚本 它将 运行 virtualenv 以 1 美元创建一个新环境 激活虚拟环境 做更多的事情 安装 django 将 django admin py 添加到 virtualenv 的路径等
  • 无法在 OSX 上使用 eclipse for android 链接到 cocos2dx

    我以前从来没有花这么多时间来初始设置开发环境 这有点荒谬 我正在尝试运行cocos2dx附带的演示代码 我在用着 ADK 附带的 eclipse 风格 cocos2d 2 1beta3 x 2 1 0 ndk r8c 我尝试使用 creat
  • Bash while 循环等待任务完成

    我创建了一个 bash 脚本来处理文件夹及其子文件夹中的视频 find type f name mkv while read file do ffmpeg i file done 问题 它不是 while 循环等待 ffmpeg 完成 而是
  • 在 Mac 上开发和测试 ASP.NET 的应用程序 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我开始学习一些asp net 所以我正在寻找一个使用mac 开发asp net 的应用程序 我知道 D
  • 更改 macOS 应用程序中打开窗口中的文档

    我正在为 macOS 编写一个基于文档的应用程序 我正在尝试编写一项功能来更改当前窗口中的活动文档 以便能够循环浏览文件夹中的下一个 上一个文档 就像使用图像浏览器应用程序一样 我应该调用什么命令来在当前窗口中打开不同的文档 文档表明 op
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • Bash 实例未嵌套在 Dockerfile `RUN` 中

    嵌套 bash 实例会递增 SLVL 环境变量 http tldp org LDP abs html internalvariables html http tldp org LDP abs html internalvariables h
  • 计算从给定日期开始的月份中的第几天?

    我正在努力寻找一种简单有效的解决方案来计算每月的工作日 例如 如果给定日期是第一个星期一Monday 5th March 2018然后我想获取接下来 6 个月每个月第一个星期一的日期 例如 Monday 2nd April 2018 and
  • Mac OS X 上的 /proc/self/cmdline / GetCommandLine 等效项是什么?

    如何在不使用 argc argv 的情况下访问 Mac OS X 上的命令行 在 Linux 上 我会简单地阅读 proc self cmdline or use GetCommandLine在 Windows 上 但我找不到 Mac OS
  • 使用 python 脚本更改 shell 中的工作目录

    我想实现一个用户态命令 它将采用其参数之一 路径 并将目录更改为该目录 程序完成后 我希望 shell 位于该目录中 所以我想实施cd命令 但需要外部程序 可以在 python 脚本中完成还是我必须编写 bash 包装器 Example t
  • 终端关闭时 bash 收到的信号

    使用 trap 来捕获信号 如下所示 i 1 while i lt 33 do trap echo i gt gt log txt i done 并强行关闭终端 那么log txt中的内容就是 redhat linux下 1 18 1 17
  • Rails 4.1 环境变量未重新加载

    我创建了一个application yml文件在配置目录中并添加了一些键值对 即AWS REGION us east 1 我还添加了以下内容application rb读取文件并更新 ENV 哈希 if Rails env developm
  • java中时间从hh:mm:ss转换为hh:mm

    我想将时间从 hh mm ss 转换为 hh mm 它来自数据库 我的sql 格式为hh mm ss 我尝试了以下代码 但没有得到我想要的 try s HibernateUtil currentSession tx s beginTrans
  • Bash 中的动态变量名称

    我对 bash 脚本感到困惑 我有以下代码 function grep search magic way to define magic variable 1 ls tail 1 echo magic variable 1 我希望能够创建一
  • 为什么 Git Bash 无法运行我的可执行文件?

    I am on git for windows https github com git for windows 吉特 巴什 我无法在命令行上运行可执行文件 Pedr Abc 07 MINGW64 c dev ls sqlite3 exe
  • 如何检查字符串是否为有效日期

    我有一个字符串 31 02 2010 并想检查它是否是有效日期 最好的方法是什么 我需要一个方法 如果字符串是有效日期 则返回 true 如果不是 则返回 false require date begin Date parse 31 02
  • 检查已安装的软件包,如果没有找到则安装

    我需要检查已安装的软件包 如果未安装则安装它们 RHEL CentOS Fedora 示例 rpm qa grep glibc static glibc static 2 12 1 80 el6 3 5 i686 如何在 BASH 中进行检
  • Mac 应用程序商店 - 尝试让加密发挥作用。 。 。我缺少什么?

    我正在尝试使用 Alan Quartermain 的解决方案 如该问题所链接 Mac App Store 收据验证码 https stackoverflow com questions 4261348 mac app store recei
  • 对 Mac“捆绑”文件进行版本控制的最佳方法

    所以你知道很多 Mac 应用程序都使用 捆绑包 对于你的应用程序来说 它看起来像是一个文件 但实际上它是一个包含许多文件的文件夹 对于要处理此问题的版本控制系统 它需要 检出目录中的所有文件 以便应用程序可以根据需要修改它们 at chec
  • Bash 中单行 while 循环的语法

    我无法找到分号和 或大括号的正确组合 我想这样做 但作为命令行中的一句 while 1 do foo sleep 2 done while true do foo sleep 2 done 顺便说一句 如果您在命令提示符下将其输入为多行 如

随机推荐

  • StreamWriter.Write 不写入文件;没有抛出异常

    我的 C 代码 asp net MVC StreamWriter tw new StreamWriter C mycode myapp logs log txt write a line of text to the file tw Wri
  • 框架和对象之间有什么区别,什么时候应该修改其中一个而不是另一个?

    我开始阅读有关 python 的 语法的内容 并偶然发现了以下帖子 答案 关于 的交互代码 https stackoverflow com a 13329969 7143036 所以我注意到框架和物体之间似乎存在差异 在全局框架中 即使它们
  • JMS消息监听器Weblogic的并发处理

    我正在 JMS 上运行测试用例 发现处理是顺序的 当我向使用 JMS 发送消息的 servlet 发出 200 个请求时 接收器 messageListner 正在按顺序接收请求 如何接收并发请求 我们有什么参数要设置吗 我阅读了 JMS
  • 警告:尝试多次加载角度。角JS

    我试图在运行 Grunt Build 后查看我的应用程序 我使用 gruntserve dist 来查看所有生产就绪的构建 但在浏览器中我得到一个无限循环 警告 尝试多次加载角度 我读到发生这种情况是因为 TemplateURL 连接后可能
  • 警告:非法字符串偏移“名称”[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在尝试制作一个产品插入页面 以便我可以将产品插入数据库 然后将它们显示在产品页面中 但是当我单击 添加产品 按钮时 出现以下错
  • pandas 数据框中的圆形浮点列

    我有以下熊猫数据框 Y X id WP NER 0 35 973496 2 734554 1 WP 01 1 35 592138 2 903913 2 WP 02 2 35 329853 3 391070 3 WP 03 3 35 3926
  • C#6 中的长字符串插值行不支持 Tab、CR 和 LF

    我尝试在 C 6 中使用制表符进行字符串插值 var name My Name var text t t name 它工作正常 制表符 t 已解决 当尝试使用时长字符串插值线 https stackoverflow com question
  • 具有数据属性的 JQuery UI 工具提示

    我正在尝试使用 HTML5 数据属性来存储和显示工具提示的内容 我使用 JQuery UI 作为工具提示 我已阅读文档 但尚未弄清楚如何对正确的选择器进行编程并显示自定义数据 对我所缺少的有什么想法吗 http jsfiddle net Q
  • 如何在 Symfony2 控制器中获取用户 IP 地址?

    我需要在提交表单后将评论用户的 IP 地址存储在数据库中 symfony2有没有获取IP的函数 或者有其他方法获取IP吗 您可以使用 Request 服务获取客户端 IP container gt get request gt getCli
  • 如何在开始日期的时间戳中添加秒数,以便获得估计的结束日期?

    我有一个带有 start time 和估计时间 以秒为单位 的任务对象 start time 以 MYSQL DATETIME 形式存储在数据库中 估计时间以秒形式存储 我想将秒数添加到 start time 以获得估计的完成日期 内维尔提
  • 安全地存储访问令牌

    我应该采取哪些安全措施来确保 如果我的数据库受到损害 长寿命访问令牌不会被盗 长寿命访问令牌与特定服务的用户名和密码一样好 但从与其他人的交谈看来 大多数人 包括我自己 都以纯文本形式存储访问令牌 这似乎与以纯文本形式存储密码一样糟糕 显然
  • 我的 QFileSystemModel 在 PyQt 中无法按预期工作

    EDIT2 model hasChildren parentIndex 回报True but model rowCount parentIndex 回报0 QFileSystemModel 只是 PyQt 中的 fubar 吗 EDIT 经
  • 使用 MQL5 将 OHLC 值从 Python API 集成到 MT5

    我已经从 iqoption 获得了 OHLC 值 并试图找到一种将其与 MT5 一起使用的方法 这是我获取这些值的方法 import time from iqoptionapi stable api import IQ Option I w
  • SSRS 可以根据导出类型切换标题可见性吗? 2008-R2

    我熟悉基于变量或参数值动态显示 隐藏其他报表对象 文本框 tablix 列等 但有没有办法用标题来做到这一点 我在标题对象上没有看到任何 可见性 选项卡来设置表达式 此外 有没有办法根据导出样式隐藏标题 例如 我想在导出到 PDF 时显示标
  • 在 Haskell 中的列表上编写递归函数

    我有以下问题 定义函数 and or Bool gt Bool 它给出了布尔值列表的合取和析取 例如 and False True False or False True True 在空列表上and gives True and or gi
  • 使用 CSS Mix-Blend-Modes 进行隔离:如何防止元素与父元素混合

    我已经尝试了很多不同的方法 但无法使 pink 和 green div 相互混合 但不能使父元素 wrapper 的背景颜色混合 wrapper background color blue height 100vh width 100 is
  • Python中的三角波形状数组

    生成 100 个数字组成的数组 形成下面三角波的形状 最大 最小幅度为 0 5 的最有效方法是什么 记住三角波形 生成三角波的最简单方法是使用 signal sawtooth 请注意 signal sawtooth phi width 接受
  • 如何将数据传回 Ionic 2 中的根页面?

    我有一个 Ionic 2 应用程序 该应用程序的前提是上课 一旦课程被打开 用户就会被标记为在远程 API 中学习该课程 数据流向为 用户打开 课程 选项卡 应用程序从 API 请求 类 数据 每个类别都拥有该用户的 状态 用户选择一个类别
  • UITableView 分隔符样式“单线蚀刻”无法正常工作

    我的代码中有一个分组的 UITableView 并且正在尝试使单线蚀刻样式正常工作 其底部有 1px 白色阴影 相反 当我启用它时 我会在顶部看到一种负灰色阴影 编程实现和 IB 实现都不会产生 1 px 阴影 以下是带有负灰色阴影的屏幕截
  • macOS 上的 Bash - 获取给定年份每个星期六的日期列表

    In bash on macOS 我想写一个小脚本dates 或任何其他可以做的程序 它给我一个格式的日期列表yyyymmdd给定年份的每个星期六并将其保存到变量中 例如 如果我想要 1850 年所有星期六的日期列表 它应该看起来像这样 v