Передающие результаты “находки” к zenity

С sed:

echo -e "192.168.0.25,Up,()\n1.2.3.4,Up,(host.domain.com)" | 
    sed 's/()/None/g;s/[()]//g'
192.168.0.25,Up,None
1.2.3.4,Up,host.domain.com

Вот awk-программа:

BEGIN {FS=","}
$3 ~ /\(\)/   { printf ($1","$2",None\n"); next }
$3 ~ /\(.+\)/ { 
                  gsub ("\\(", "")
                  gsub ("\\)", "")
              }
              { printf ($0"\n") }

назовите его с

echo -e "1.8.0.5,Up,()\n1.2.3.4,Up,(host.d.com)" | awk -f ip.awk 

например.

0
03.11.2012, 11:14
2 ответа

Вместо выполнения echo $results сделать echo "$results".

Обновление:

Различие между этими 2 то, что в 1-м случае echo получает много параметров, и в 2-м случае это получает только один параметр. Это вызвано тем, что подстановка переменных происходит перед парсингом параметра.

3
28.01.2020, 02:21

Попробуйте это, пример в списках zenity, он считал результат find, и генерируйте массив, затем перейдите к zenity:

#!/bin/bash

List=()
while IFS= read -d $'\0' -r file ; do
    List=("${List[@]}" "$file")
done < <(find . -iname '*.mp4' -print0)

zenity --list --column "Item" "${List[@]}"
1
28.01.2020, 02:21

Теги

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