2016-02-08 2 views
0

система: AIX 7.1Grep последняя строка файла

Скажем, у меня есть папка с файлами, подобные этим:

enter image description here

Файлы Мне нужно всегда иметь этот префикс sapemea_postatus.log. xxxxxxxx, и внутри них у нас всегда есть номер (номер коллекции), например:

enter image description here

И у меня всегда есть такие вопросы, как

Эй, что коллекция номер является последним мы имеем?

Так что я всегда должен открыть FTP, перейдите в папку, отфильтровать столбец, чтобы показать самые новые из них в верхней части, искать sapemea_postatus.log файл последней , скачать и проверить с помощью блокнота ++.

Итак, мой вопрос: есть ли способ сделать команду grep, где я могу фильтровать эти файлы, получить самую последнюю и показать этот номер коллекции? Благодаря!

+0

ls -tr> ФАЙЛЫ; cat \ 'tail -1 FILES \' | grep ... –

ответ

1
#!/bin/bash 

latest_collection=0 

regex="Collection:[ ]*([0-9]+)" 

for log in sapemea_postatus.log.*; do 

    [[ $(cat $log) =~ $regex ]] 
    collection="${BASH_REMATCH[1]}" 

    if [[ $collection > $latest_collection ]]; then 
     latest_collection=$collection 
     latest_log=$log 
    fi 
done 

echo "Latest log: $latest_log (number $latest_collection)" 
+0

Спасибо, я проверю, могу ли я создать файл на сервере AIX (если они позволяют мне) и попробовать это! – sanjuro8998

+0

Если подача не позволит вам создавать файлы, вы можете запустить сценарий как однострочный, так как отступ не имеет значения в Bash. Просто запустите 'bash', если это не стандартная оболочка системы, а затем выполните' last_collection = 0; regex = "Collection: [] * ([0-9] +)"; для входа в sapemea_postatus.log. *; do [[$ (cat $ log) = ~ $ regex]]; коллекция = "$ {BASH_REMATCH [1]}"; if [[$ collection> $ last_collection]]; then latest_collection = $ collection; latest_log = $ войти; Fi; сделанный; echo "Последний журнал: $ last_log (number $ latest_collection)" ' –

+0

Я написал bash и нажал enter, и вставил все строки там ... как выполнить его сейчас? извините, я действительно новичок в aix – sanjuro8998

Смежные вопросы