テキストファイルの同じ行にデータを追加するには?シチュエーションは、最初の部分がコマンドの出力で、他の部分が私の特殊なテキストです(例:$コードを使用)。date >> file.txt && echo -n "new data" >> file.txt
ここで、日付の最初の出力は、「new data」というテキストとともにファイルに最初に保存されます。新しい行を追加して-$などのコードの順序を変更すると、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