我有一个名为data.txt
的文件。
我想将当前日期,时间或两者都添加到每行的开头或结尾。
我试过这个:
awk -v v1=$var ' { printf("%s,%s\n", $0, v1) } ' data.txt > data.txt
我试过这个:
sed "s/$/,$var/" data.txt
没有任何作用。
有人可以帮助我吗?
答案 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