재택 근무에서 뚱뚱해지지 않도록 쉘 스크립트로 녹음 다이어트

4631 단어 ShellScript

TL;DR



alias에서 이런 쉘을 등록해 두면 레코딩 다이어트가 되어 좋다고 하는 스크립트를 썼다.
기술은 별로 하지 않는다.

경위



엔지니어 여러분에 대해서는 요즘 유행하고 있는 감염증 대책으로서 리모트 워크에서의 근무로 바뀌고 있는 것이 많다고 생각합니다.
나도 새지 않고 그 혼자였는데, 리모트 워크가 시작되고 나서 잠시 지났을 무렵, 문득 체중계를 보면 연말부터 4kg도 늘고 있어, 감염증과는 다른 위기감을 기억했습니다.

일반적으로 원격 작업이라는 작업 방식으로 전환하면 식사와 운동에 관한 변화가 방문합니다 (운동량의 저하에 따라 체중이 증가하게 됩니다).
나는 일을 하면서 책상에서 식사를 한다는 최악의 루틴 워크가 되었기 때문에, 그렇다면과 PC로 부담없이 식사 내용을 기록할 수 있는 방법을 생각해 보았습니다.

구현 내용



WIE_LOG_PATH=~/scripts/log/whatieat.txt
if [ ! -e $WIE_LOG_PATH ]; then
  touch $WIE_LOG_PATH
fi
if test $# -eq 0; then
  echo "argument not specified."
  exit 1
fi
if test $1 = "-log" -o $1 = "log" -o $1 = "-l"; then
  tail -${2:-"10"} $WIE_LOG_PATH
  zgrep "^"`date "+%Y-%m-%d"` $WIE_LOG_PATH | awk -F, '{ sum += $3 } END{ print "today calories: "sum }'
  exit 0
fi
if test $# -ne 2; then
  echo "argument number must be 2."
  exit 1
fi
CALCULATED_ROW=`date "+%Y-%m-%d %H:%M:%S"`","$1","$2
echo $CALCULATED_ROW >> $WIE_LOG_PATH
echo $CALCULATED_ROW
zgrep "^"`date "+%Y-%m-%d"` $WIE_LOG_PATH | awk -F, '{ sum += $3 } END{ print "today calories: "sum }'

하고 있는 일은 간단하고, 입력에 따라 日付,食事内容,カロリー 형식으로 csv를 추기해 갈 뿐입니다.
# ログを見る
$ eat log 2 #第二引数は遡る行数。与えられなければ10行まで表示する
2020-03-31 11:20:08,サバ缶,400
2020-03-31 12:12:04,フルグラ,100
today calories: 1000
# ログを取る(記録する)
$ eat something 1 #第一引数に食べるもの、第二引数にカロリーを記入
2020-03-31 12:13:55,something,1
today calories: 1001

echo "alias eat=<スクリプトの絶対パス>" >> ~/.bash_profile & source ~/.bash_profile처럼 alias 설정한 예.

요약


  • 급격히 변화하는 식사와 생활을 통제합시다.
  • 식사와 일이 일체화되고 있으면 무엇 먹었는지 잊어 버리므로 우선은 식사 내용의 확인을
  • 그래프화하고 싶은 경우는 로그를 그대로 SpreadSheet 나 Excel로 임포트하면 좋다고 생각합니다.





    그래서 그림과 같은 그래프를 만들 수 있습니다.


    열 이름



    A
    csv에서 가져오기

    B
    csv에서 가져오기

    C
    csv에서 가져오기

    D
    날짜 증가

    E=TEXT($D1, ">=YYYY/MM/dd")
    F=TEXT($D1+1, "<YYYY/MM/dd")
    G=SUMIFS(C1:C1000,A1:A1000,E1,A1:A1000,F1)
  • 좋은 웹페이지 즐겨찾기