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

Date 如何将当前日期或时间添加到文件中每行的末尾?,date,sed,append,Date,Sed,Append,我有一个名为data.txt的文件 我想将当前日期或时间或两者都添加到每行的开头或结尾 我试过这个: awk -v v1=$var ' { printf("%s,%s\n", $0, v1) } ' data.txt > data.txt sed "s/$/,$var/" data.txt 我试过这个: awk -v v1=$var ' { printf("%s,%s\n", $0, v1) } ' data.txt > data.txt sed "s/$/,$var/" da

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

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

我试过这个:

awk -v v1=$var ' { printf("%s,%s\n", $0, v1) } ' data.txt > data.txt
sed "s/$/,$var/" data.txt
我试过这个:

awk -v v1=$var ' { printf("%s,%s\n", $0, v1) } ' data.txt > data.txt
sed "s/$/,$var/" data.txt
什么都不管用

有人能帮我吗?

怎么样:

cat filename | sed "s/$/ `date`/"
这个问题是什么

awk -v v1=$var ' { printf("%s,%s\n", $0, v1) } ' data.txt > data.txt
首先发生
重定向,shell会截断文件。只有这样,shell exec 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

很好,我想您甚至可以使用
awk-v date=“$(date)”'$0=$0date”文件
。或者使用
cat filename|sed“s/^/`date`/”
在每行的开头添加一个时间戳。