Remmina работает один раз - после чего ее нужно перезапускать?

catno puede generar datos que no existen en los archivos. Si un archivo está vacío, ni siquiera tiene un carácter de nueva línea para proporcionar una línea vacía como salida.

Puede asegurarse de que los archivos contengan al menos un carácter de nueva línea.

Así es como usas GNU awkpara asegurarte de que (esto modifica los archivos vacíos):

awk 'ENDFILE { if (FNR == 0) printf("\n") >>FILENAME }' 2[0-8]_SumActive.txt   

El bloqueENDFILEse ejecutará después de terminar de leer cualquiera de los archivos. Si FNRes cero, nunca vimos ninguna línea en el archivo, por lo que insertamos una nueva línea en él. La secuencia de comandos luego continúa con el siguiente archivo.

Luego puede usar catcomo lo hizo en la pregunta.


Alternativamente, sin cambiar los archivos, usando GNUawken lugar decat:

awk 'ENDFILE { if (FNR == 0) printf("\n") } 1' 2[0-8]_SumActive.txt

Esto hace el mismo tipo de detección de archivos vacíos que el anterior, pero imprime la nueva línea en la salida estándar en lugar del archivo. El 1al final podría ser reemplazado por { print }y hará que todos los datos en los archivos que no estén vacíos -se envíen.


Alternativamente, un bucle de shell (debería funcionar en cualquier shell POSIX):

for name in./2[0-8]_SumActive.txt; do
    if [ -s "$name" ]; then
        cat "$name"
    else
        printf '\n'
    fi
done

La prueba -sserá verdadera si el archivo existe y tiene un tamaño mayor que cero.


Si desea que se genere la cadena literal [Blank]para archivos vacíos, simplemente inserte esa cadena delante de \nen las llamadas a printfarriba de (, esto también funcionará en el código awk).

5
13.06.2019, 19:19
2 ответа

Это ошибка freerdp, единственное решение — либо перейти на более раннюю версию, либо установить freerdp 2.0, которая недоступна как есть. Вы можете установить его в арч, используя freerdp -git aur. Это решило проблему для меня

5
27.01.2020, 20:41

+1 При изменении размера подключенного сеанса RDP. Единственный обходной путь — убить Реммину и перезапустить ее.

(org.remmina.Remmina :3483 ):Gtk -CRITICAL **:12 :14 :28.216 :gtk _окно _изменение размера :утверждение 'ширина > 0' не удалось [12 :14 :40 :880] [3483 :3491] [ОШИБКА][com.freerdp.core] -ERRINFO _НЕИЗВЕСТНО 0x00000011 :Неизвестная ошибка. Не удалось проверить дескрипторы событий FreeRDP

.
-1
27.01.2020, 20:41

Теги

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