如何将每个记录中的当前日期添加为第一列。
输入文件:
12345|Test1
67890|Test2
预期输出文件:
2014-04-26|12345|Test1
2014-04-26|67890|Test2
谢谢,
答案 0 :(得分:1)
你可以使用awk
awk -vOFS='|' -vcdate=$(date '+%Y-%m-%d') ' {print cdate, $0}' file
答案 1 :(得分:1)
您可以使用sed例如:
sed -i "/^$/ !s/^/`date +"%Y-%m-%d"`|/" data_file
答案 2 :(得分:1)
sed -e "s,^,$(date +'%Y-%M-%d')|," file
如果您使用Linux(更具体地说,GNU sed),那么您可以使用-i
标志进行就地编辑:
sed -i -e "s,^,$(date +'%Y-%M-%d')|," file
否则,您必须将结果存储到临时文件中,然后重命名。
答案 3 :(得分:1)
如果您想编辑该文件,为什么不使用标准编辑器ed
? ed
的常见版本和不错版本将支持以下内容:
printf '%s\n' "$(date '+%%s/^/%Y-%m-%d|/')" wq | ed -s file
(这将编辑文件到位,因此如果要还原更改,请确保有适当的备份。)