123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- BEGIN {
- search = "";
- savesearch = "";
- }
- state==0 {
- printf \
- ("y: yes\nn: no\nY: yes to all\nN: no to all\n/: search\n") \
- > "/dev/tty";
- state = 1;
- }
- state==1 {
- long = $0;
- sub("# ", "", long);
- brief = long;
- brief = substr(brief, 1, 72);
- action = "";
- response = "";
- if (all!="")
- {
- action = all;
- }
- if (action=="" && search!="")
- {
- if (tolower(long) ~ tolower(search))
- {
- search = "";
- }
- else
- {
- action = "n";
- }
- }
- if (action=="y")
- {
- getline;
- printf ("%s\n", $0);
- }
- else if (action=="n")
- {
- getline;
- }
-
- else if (action=="")
- {
- printf("Play %s (ynYN/)? ", brief) > "/dev/tty";
- getline response < "/dev/tty";
- if (response ~ /Y(es)?/)
- {
- response = "y";
- all = "y";
- }
- else if (response ~ /N(o)?/)
- {
- response = "n";
- all = "n";
- }
- else if (response ~ /^\//)
- {
- search = substr(response, 2);
- if (search=="")
- {
- search = savesearch;
- }
- if (search=="")
- {
- printf("Search string: ") > "/dev/tty";
- getline search < "/dev/tty";
- }
- savesearch = search;
- response = "n";
- }
- if (response ~ /y(es)?/ || response=="")
- {
- getline;
- printf ("%s\n", $0);
- }
- else
- {
- getline;
- }
- }
- }
|