私はさまざまなテキストファイルにメモをし、しばしば次のようにします。
cat >> notes.txt
better not forget this
<ctrl-D>
ファイルに少しだけ追加する場合は、追加のキーストロークを保存してEnter、Ctrl-Dを押すのが最善です。
一行でこれを行うにはどうすればよいですか?テキストファイルにいくつかの文字を追加してEnterキーを押すだけですか?
答え1
次の機能を使用できます。
addnotes () {
echo "$*" >> /path/to/notes.txt
}
次に、コマンドライン引数としてコメントを追加します。
$ addnotes better not forget this
答え2
bash
単一行または複数行を処理する単純なスクリプト(または関数):
note() {
# If we have text on the line use it, otherwise read from stdin
{ [[ $# -gt 0 ]] && printf "%s\n" "$*" || cat; } |
# Write current date/time, then append collected text indented by two spaces
{ date; sed 's/^/ /'; echo; } >> "$HOME/note.txt"
}
これにより、簡単な通知が可能です。
note remember this
またはより複雑な段落
note
Remember this
and this too
oh and this
<Ctrl/D>
通知はファイルに記録され$HOME/note.txt
、各通知の前には現在の日付/時刻が付けられます。
cat ~/note.txt
10 Dec 2020 16:03:59
remember this
10 Dec 2020 16:04:05
Remember this
and this too
oh and this
インデントが必要ない場合は、date
段落| { ... }
全体を削除してください。
note() { { [[ $# -gt 0 ]] && printf "%s\n" "$*" || cat; } >> "$HOME/note.txt"; }
またはスクリプトとして使用します(実行可能にしてその場所に保存することを忘れないでください$PATH
)。
#!/bin/bash
{ [[ $# -gt 0 ]] && printf "%s\n" "$*" || cat; } |
{ date; sed 's/^/ /'; echo; } >> "$HOME/note.txt"
答え3
cat
使用。 。 。交換echo
:
echo "Better not forget this" >> notes.txt