用自动生成的日期替换文本

时间:2015-04-10 13:10:29

标签: bash replace

我有一个看起来像这样的文本文件

test tom
test fred
test harry
test jim

文本文件中有12000个名称。

我想用自动生成的日期替换单词test,这样它就会在列表中的每个名称上多加一个小时。所以我最终会得到以下结论:

2015-04-10 14:00 tom
2015-04-10 15:00 fred
2015-04-10 16:00 harry
2015-04-10 17:00 jim

一旦到达当天结束,它应该持续到第二天,下个月和一年直到结束。

如何使用bash脚本?

2 个答案:

答案 0 :(得分:2)

将其放入脚本并命名为whatever.sh

#/bin/bash

count=0

while read -r blah rest
do
    echo "$(date -d "+$count hours" +"%F %H:00") $rest"
    ((count++))
done

使其可执行:

chmod +x whatever.sh

然后:

./whatever.sh < input.txt

答案 1 :(得分:0)

使用awk

awk 'BEGIN{x=systime()}{$1=strftime("%F %H:00",x);x+=3600}1' file

输出

2015-04-10 14:00 tom
2015-04-10 15:00 fred
2015-04-10 16:00 harry
2015-04-10 17:00 jim