отсортировать файл B на основе столбца 3 файла A без изменения содержимого файла A

Проблема в том, что ваш egrep поиск будет вызывать awk один раз для каждой строки, в которой он видит «28», «29», «30» или «31». . В месяцах, где 28-е число находится перед последней календарной неделей, awk вызывается дважды, так как две строки соответствуют критериям поиска.

Вы хотите всегда использовать вторую строку поиска egrep , поэтому вы можете использовать команду tail , чтобы увидеть только последнюю строку:

#!/bin/bash
#!/usr/local/bin
#!/usr/sbin
#!/usr/bin
# Script to Check last working Day of the Month

echo " Enter Month and Year :"
read mon year
cal $mon $year| egrep  "28|29|30|31"| tail -n 1 |awk 'BEGIN {
        var1=$NF;var2=NF;
        }
        {
        if (NF > 1 &&  NF < 7)
                val=$NF;
        else if (NF == 1)
                val=$NF-2;
        else if (NF == 7)
                val=$NF-1;
        }
        {
                print "Last Working Date is : " val;
        }'
1
28.11.2017, 02:49
0 ответов

Теги

Похожие вопросы