Додайте часову позначку до верхнього виводу команди


1

Все,
я використовую

top -l 0 -s 1  -pid XXX -stats rsize | awk 'NR%13==0; fflush(stdout)' > output.txt  

щоб зберегти значення rsize процесу у файлі. Наразі вміст output.txt виглядає приблизно так:

3828K+   
3832K+  
3836K+  
3840K+  
3840K   
3840K   

Я хотів би змінити цей однострочний параметр, щоб він включав часову позначку разом зі значенням. Як я можу змінити awk частину вищевказаного однокласника і додати до нього часову позначку? Отриманий результат повинен виглядати приблизно так:

1338936728 3828K+  
1338936729 3838K

Я на Mac OSX. Я хотів би зробити сюжетну позначку Vs rsize.


Чи можете ви включити повний вихідний рядок? У мене немає OSX-машини, і моя версія topне приймає однакових прапорів
Michael Mrozek

@MichaelMrozek: Що ви маєте на увазі під "повним вихідним рядком"? Я, по суті,
виконую

Рядок, не оброблений користувачем awk. Я припускаю, що «мітка часу» - це одна з інших колонок
Майкл Мрозек

@MichaelMrozek: Немає стовпця часової позначки у верхньому виведенні команди. Я подумав змінити awk частину
однолінійки,

Я на Mac і це не дає мені нічого віддалено, як ваш вихід.
Кевін

Відповіді:


1

Це залежить від вашої версії awk (можливо, ви повинні використовувати gawkзамість awk) або безпосередньо запустити дату у своєму командному рядку awk, але

awk 'NR%13==0 { printf  "%d %s\n",  systime(), $0 ; fflush(stdout) }'

надрукує поточну позначку часу перед поточним рядком. Для отримання додаткової інформації ознайомтеся з документацією gawk про функції часу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.