Saturday, May 14, 2016

grep, OR 検索

grep で、OR 検索をしたい。

 

わたしは、タスク管理に todo.txt も使っている。

※ 参考にしたページ
http://todotxt.com/
どのツールもしっくりこない人へ、『Todo.txt』によるタスクマネジメントのススメ

 

そして、todo.txt に関して、.bash_profile に以下のようにエイリアスを作っている。

alias t="todo.sh"
alias tl=“clear; t ls | sort -k 3,3 -k 2,2"
alias tls=“clear; t ls"
alias edt="vi /Users/myusername/Google\ Drive/Dropbox/command-MacOSX/todo-txt/todo.txt;tl"

 

たとえば、tl で確認した後、今日までの未消化タスクを、つまり、おとついから今日までの三日分のタスクを表示したかった。

そのとき、grep の OR 検索が必要となる。

tl | grep -e "5-12" -e "5-13" -e "5-14"

とするか、

tl | grep "5-12\|5-13\|5-14"

とすれば良い。でも、二番目の方が短くて良い。

 

(追記)

tl | grep "5-1[234]"

 でも同じ結果が得られる。短いからこっちの方がもっといいな。

 

実際にやってみると、

01 (A) 2016-05-12 Thu (幼) +hmwr @deskwork
02 (A) 2016-05-12 Thu (幼) +hmwr @deskwork
03 (B) 2016-05-13 Fri  +asty @think
04 (B) 2016-05-13 Fri  +北海教区 @deskwork
05 (B) 2016-05-13 Fri  +北海教区 @deskwork
06 (A) 2016-05-14 Sat  +asty @write
07 (B) 2016-05-14 Sat  +asty @deskwork

 

未消化タスクが7つ、表示された。
(細かいタスクはもっとあるけどね・・・) 

 

※ 参考にしたページ
grepを使った便利なコマンド一覧 

No comments:

Post a Comment