shell 在文本的每行开头都加上一个日期

本文介绍了如何使用Shell命令在文本每行开头添加固定或动态字段。对于需求1,可以使用awk和sed命令,但它们无法直接处理变量。对于需求2,即添加变动的日期(如当前时间),提出了通过提取每行并结合变量输出的方法。此外,还讨论了awk内置函数strftime在处理日期变化情况下的应用,并强调了在处理大量数据时,awk命令相比循环遍历文件的高效率优势。
摘要由CSDN通过智能技术生成

这个需求可以分为两种:
1、在文本的每行开头都加上一个字段(日期、时间、或者其它),但是这个是固定的,不会发生变化
2、在文本的每行开头都加上一个字段(例如当天的时间),那么这个时间就是变化的,每天的时间都不一样。

先说下简单的方法:
对于需求1可以用下面两个命令:

awk '{print  "20200323 " $0}' test.file
sed 's/^/20200309& /g' test.file

看下效果:
在这里插入图片描述
可以看到在前面都能加上自己的日期了,同理,需要加其它的就替换成其它字段就好了。
但是这个awk和sed命令有个缺陷,就是这个在开头加上字段是固定的,无法获取变量。如下:

#!/bin/bash
tmp=
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值