如何将数据附加到文本文件的同一行

如何将数据附加到文本文件的同一行

如何将数据附加到文本文件的同一行?情况是第一部分是命令的输出,另一部分是我的特殊文本,例如使用代码 $ date >> file.txt && echo -n "new data" >> file.txt,这里日期的第一个输出首先存储在文件中,新行上的文本“新数据”,如果我更改代码的顺序,例如-$echo "new data ">> file.txt && date >> file.txt然后它将数据附加到同一行,但我想先附加日期输出,然后附加特殊文本。我怎么能够?

答案1

尝试

echo $(date) "new data" >> file.txt

在哪里

  • $( )替换将删除新的日期行。

答案2

date命令会自动在命令末尾添加换行符。要删除此换行符,您可以执行以下操作:

date | tr -d '\n' >> file.txt && echo -n "new data" >> file.txt

这将从日期输出中删除所有换行符。

答案3

使用替换删除换行符的解决方案。

$ d=$(date)
$ echo -n $d >> file
$ echo " <- this is date" >> file
$ cat file
Mon Feb 4 07:08:21 CET 2019 <- this is date
$

答案4

对于“新数据”是静态的情况,另一种选择是:

printf '%s new data\n' "$(date)" >> file.txt

对于“新数据”可能有所不同的情况:

printf '%s %s\n' "$(date)" "${newdatavar}" >> file.txt

相关内容