나는 다양한 텍스트 파일에 메모를 하고 종종 다음과 같이 합니다.
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