Можно послать любую команду любому окну любого screen'а. О как завернул) screen -S name -p 0 -X hardcopy screen -S name -p 0 -X stuff 'ls -l^M'
stuff это внутрення команда screen'а для подачи текстиа на вход screen'у… Отправится нулевому окну скрина с именем name команда ls -l. ^M нужно вместо нажатия Enter. ^M не просто печатается, а вставляется как управляющая последовательность, получить можно так: Ctrl-v Ctrl-m и символ появится.
Либо можно так записать: screen -S name -p 0 -X stuff 'ls -'`echo -ne '\015'`.
Создался файл hardcopy.0 с текущим выводом. Т.е. имя файла некорректное, содержимое не актуальное (задача время от времени получать эти последние несколько строк, а выходит ручная работа с каждый скрином).
Из выдачи по H можно grep'ом выковырять что нужно, но вот нулевой <номер окна> не самое лучшее решение — на одной машине работает 10-30 screen'ов. И машин таких несколько. Собирать нужно со всех.
Можно, конечно, создавать screenlog.0 и переименовывать его по pin'у каждого screen…
Но может еще что предложит? :)