如何将数据附加到文本文件的同一行?情况是第一部分是命令的输出,另一部分是我的特殊文本,例如使用代码 $ 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