如何将当前日期或时间添加到文件中每一行的末尾?
我有一个名为 data.txt
的文件。
我想将当前日期或时间或两者添加到每行的开头或结尾。
我已经尝试过这个:
awk -v v1=$var ' { printf("%s,%s\n", $0, v1) } ' data.txt > data.txt
我已经尝试过这个:
sed "s/$/,$var/" data.txt
没有任何效果。
有人可以帮我吗?
I have a file called data.txt
.
I want to add the current date, or time, or both to the beginning or end of each line.
I have tried this:
awk -v v1=$var ' { printf("%s,%s\n", $0, v1) } ' data.txt > data.txt
I have tried this:
sed "s/$/,$var/" data.txt
Nothing works.
Can someone help me out here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
怎么样:
How about :
这样做的问题
是首先发生
>
重定向,并且shell截断了文件。只有这样,shell 才会执行 awk,然后读取一个空文件。选择以下选项之一:
但是,您的
$var
是否包含斜杠(例如“10/04/2011 12:34”)?如果是,则为 sed 的s///
命令选择不同的分隔符:sed -i "s@\$@ $var@" data.txt
The problem with this
is that the
>
redirection happens first, and the shell truncates the file. Only then does the shell exec awk, which then reads an empty file.Choose one of these:
However, does your
$var
contain slashes (such as "10/04/2011 12:34") ? If yes, then choose a different delimiter for sed'ss///
command:sed -i "s@\$@ $var@" data.txt