bash计算人的年龄并读取csv文件? [关闭]

2024-02-21

我有一个包含三列的 csv 文件,其中包含姓名、邮政编码、年龄 dd/mm/yy。我想从今天的日期计算每个条目的年龄并输出到 csv 文件的第四列?我知道 awk 很方便,但我不知道如何读取和写入各个列中的数据并创建一个新列! 例如

name,postcode,dob,age
Dave,ws245f,09/12/2000,13

我有以下输入

`cat estimateAge.csv|awk -F'/|,' '{b=mktime($5" "$4" "$3" 00 00 00 00");a (systime()-b)/(365*24*60*60);a=a==int(a)?a:int(a)+1;print $0","a}`'

这是输出

Joe Bloggs,0121 545465650,01/03/1982,31

输出应该是

Joe Bloggs,0121 545465650,01/03/1982,30

请注意,年龄计算不正确,因为 Joe Bloggs 直到 3 月份才满 31 岁


我认为这个问题的核心在于最后没有添加新时代字段。但年龄计算。

尝试这个:

awk -F'/|,' '{b=mktime($5" "$4" "$3" 00 00 00 00");a=(systime()-b)/(365*24*60*60);a=a==int(a)?a:int(a)+1;print $0","a}' file

好吧,也许我不应该把它们放在一行中:

awk -F'/|,' '{b=mktime($5" "$4" "$3" 00 00 00 00");
              a=(systime()-b)/(365*24*60*60);
              a=a==int(a)?a:int(a)+1;print $0","a}' file

使用您的示例数据进行测试:

kent$  echo "Dave,ws245f,09/12/2000"|awk -F'/|,' '{b=mktime($5" "$4" "$3" 00 00 00 00");a=(systime()-b)/(365*24*60*60);a=a==int(a)?a:int(a)+1;print $0","a}' 
Dave,ws245f,09/12/2000,13

正如你所看到的,我没有检查标题行,aNR>1检查可以轻松跳过标题。你可以DIY。

希望能帮助到你

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

bash计算人的年龄并读取csv文件? [关闭] 的相关文章

随机推荐

  • 除法不返回我期望的十进制值[重复]

    这个问题在这里已经有答案了 可能的重复 这个部门有什么问题吗 https stackoverflow com questions 704702 whats wrong with this division 如果你分2 3 它应该返回0 66
  • 适用于 OSX 和 Windows 应用程序的 Eclipse info.plist 文件

    当我寻找隐藏 Java 应用程序停靠图标的方法时 我到处都看到info plist 文件这个 and info plist 文件表示 但我没有看到一个 我的问题是如何在 eclipse 中生成 info plist 文件 它属于哪里 当我导
  • 如何在 iPhone 的导航栏中添加右栏按钮

    我想在导航栏中添加一个右栏按钮项目 以便单击时执行某些功能 我创建了以下代码来添加右侧栏按钮项目 但完成后 栏按钮项目没有显示在导航栏中 void viewDidload self navigationItem rightBarButton
  • 从文件夹中的图像序列获取 numpy 数组

    我有一个文件夹 比如说video1一堆按顺序排列的图像frame 00 png frame 01 png 我想要的是格式为 4D numpy 数组 number of frames w h 3 这就是我所做的 但我认为它很慢 有没有更快或更
  • 在哪里可以找到图形命令 shell?

    终端和 shell 非常强大 但学习起来可能很复杂 尤其是要充分利用它们 有谁知道有一个更加基于 GUI 的命令 shell 可以帮助用户或以更友好的方式显示答案 我知道 IPython 但即使它的语法也有点复杂 尽管这是朝着正确方向迈出的
  • 将片段从 GraphQL 文件导入到另一个 GraphQL 文件不起作用

    我正在尝试使用 graphql 文件并传递变量来对空手道进行测试 在我的 graphql 模式上 我试图重用另一个 graphql 文件中的片段 我尝试按照以下说明进行操作https www apollographql com docs r
  • 为什么GetType成功时FindType却获取不到RTTI?

    我正在尝试使用来抓住一个物体TRttiContext FindType QualifiedTypeName 这是我所得到的 program MissingRTTI APPTYPE CONSOLE uses System SysUtils R
  • 我无法让 super() 在 python 2.7 中工作

    通过一对简单的课程 我无法获得超级工作 class A object q foo class B A q bar def init self self a super A self q a B 像这样的错误 AttributeError T
  • Play框架2.4:NoClassDefFoundError:play/api/cache/CachePlugin

    在尝试从 Play 2 2 更新到 Play 2 4 时 我遇到了这个绊脚石 我还添加了 memcached2 插件 但已禁用 我的conf文件 Cache configuration To avoid conflict with play
  • 在 Socket.IO 客户端断开连接时释放事件处理程序

    我正在使用 Socket IO 如本示例所示 io sockets on connection function socket myService on myevent function socket emit myevent some s
  • Spyder - python - 安装外部包

    我刚刚开始使用 python 在 Windows 中 64 位 我有一个关于如何在 anaconda spyder 环境中安装外部包的基本问题 据我所知 对于大多数软件包 可以简单地使用 conda install bunnys 但是 某些
  • 检查tomcat是否运行? [复制]

    这个问题在这里已经有答案了 可能的重复 Tomcat 正在运行吗 https stackoverflow com questions 3944157 is tomcat running hi 我在虚拟机中安装了tomcat服务器 我想每天检
  • Python Tensorflow - 多次运行 model.fit 而不重新实例化模型

    背景 我正在看一个热门 YouTube 速成课程 https youtu be tPYj3fFJGjk t 12950关于机器学习 At 3 35 50 https youtu be tPYj3fFJGjk t 12950 他提到该模型可能
  • 在 awk 中打印其余字段

    假设我们有这个数据文件 john 32 maketing executive jack 41 chief technical officer jim 27 developer dela 33 assistant risk managemen
  • Windows 工作组上的 Microsoft 服务总线

    我刚刚开始使用 Microsoft Service Bus 现在 我个人面临的挑战是 我是在下班后 在自己的时间等进行此操作 这意味着我正在使用虚拟机和非域电脑 这些人都是工作组 我取得了相当大的成功 特别是在我偶然发现这个链接之后 Mic
  • 启动屏幕等待线程完成

    我仍然遇到闪屏问题 我不想使用该房产SC TopMost true 现在我的应用场景如下 在程序 cs中 STAThread static void Main new SplashScreen tempAL where tempAL is
  • 如何在具有最终字段的抽象类上使用 Lombok @SuperBuilder

    给定以下带有 Lombok 注释的类 Data and SuperBuilder Data SuperBuilder public abstract class Parent protected final String userId pr
  • 按位求补运算符

    你们能解释一下下面的程序吗 int main int max 0 printf d n max return 0 AFAIK 会翻转位 在这种情况下 即 0 会将所有位设置为 1 因此 max 变量应包含 MAX 值 但我得到的 o p 为
  • 为什么工作流程设计器在编辑构建流程模板时速度如此之慢?

    除了上面的问题之外 没有什么需要补充的了 我有一个相当简单的构建过程模板 它几乎没有偏离默认模板 我有两个自定义活动 根据建议 它们位于同一解决方案中的单独程序集中 然而 打开模板大约需要两分钟 更改工作流中活动的属性 重新排序工作流中的活
  • bash计算人的年龄并读取csv文件? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一个包含三列的 csv 文件 其