如何将当前日期或时间添加到文件中每行的结尾?

时间:2011-10-04 14:54:37

标签: date sed append

我有一个名为data.txt的文件。

我想将当前日期,时间或两者都添加到每行的开头或结尾。

我试过这个:

awk -v v1=$var ' { printf("%s,%s\n", $0, v1) } ' data.txt > data.txt

我试过这个:

sed "s/$/,$var/" data.txt

没有任何作用。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:11)

怎么样:

cat filename | sed "s/$/ `date`/"

答案 1 :(得分:2)

这个问题

awk -v v1=$var ' { printf("%s,%s\n", $0, v1) } ' data.txt > data.txt

>重定向发生第一次,并且shell会截断该文件。只有这样shell才会执行awk,然后读取一个空文件。

选择以下其中一项:

sed -i "s/\$/ $var/" data.txt

awk -v "date=$var" '{print $0, date}' data.txt > tmpfile && mv tmpfile data.txt

但是,您的$var是否包含斜杠(例如“10/04/2011 12:34”)?如果是,则为sed的s///命令选择不同的分隔符:sed -i "s@\$@ $var@" data.txt