Открытый файл найден с командой 'находки'

Вы могли посмотреть на то, как acpid делает это. Например, когда это дает команды xscreensaver или очищает экран для каждого пользователя, работающего X или X-сессии.

Например, в соответствии с Ubuntu этот файл содержит связанный материал:

/etc/acpi/lid.sh

Содержит этот цикл:

for x in /tmp/.X11-unix/*; do
    displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
    getXuser;
    if [ x"$XAUTHORITY" != x"" ]; then
        export DISPLAY=":$displaynum"
        grep -q off-line /proc/acpi/ac_adapter/*/state
        if [ $? = 1 ]
            then
            if pidof xscreensaver > /dev/null; then 
                su $user -c "xscreensaver-command -unthrottle"
            fi
        fi
        if [ x$RADEON_LIGHT = xtrue ]; then
            [ -x /usr/sbin/radeontool ] && radeontool light on
        fi
        if [ `pidof xscreensaver` ]; then
            su $user -c "xscreensaver-command -deactivate"
        fi
        su $user -c "xset dpms force on"
    fi
done
10
14.10.2011, 23:42
5 ответов

@retracile корректен. Необходимо открыть его с 'чем-то'. Однако я предпочитаю использовать должностное лицо по xargs.

find . -name '*.xyz' -exec cat {} \;

это возвратится cat fileFound.xyz; cat fileFound2.xyx; и т.д. однако, Вы только ожидаете находить один файл.

отметьте то изменение \; кому: + возвратился бы cat fileFound.xyz fileFound2.xyz в зависимости от случая позже, возможно, предпочтительный вариант.

для больше на этом я направил бы Вас к этому вопросу

8
27.01.2020, 20:00

Команду, которую Вы ищете, называют xdg-open

Попробуйте свою команду им:

xdg-open "$(find . -name '*xyz' | head -n1)"
6
27.01.2020, 20:00

Необходимо знать, какую программу Вы хотите использовать для открытия файла. Если это - изображение, Вы могли бы использовать gwenview или что-то.

Взятие входа и превращение его в аргументы сделаны с xargs. И Вы захотите выйти из того подстановочного знака...

find . -name \*xyz | xargs gwenview

И обработать пробелы в именах файлов....

find . -name \*xyz | xargs -d"\n" gwenview
6
27.01.2020, 20:00

Как другие указали, Ваш вопрос не достаточно довольно конкретен для ответа ясно. Так, предполагая другое возможное значение: Если Вы подразумеваете, что хотите выполнить его как исполняемый файл, (подразумевать, что Ваша программа является исполняемым файлом), говорят оболочке, что Вы хотите заменить выводом команды находки как часть командной строки:

$(find . -name *.xyz)
2
27.01.2020, 20:00

Если вы хотите открыть все файлы, найденные с помощью find на отдельных вкладках в одном экземпляре vim, вы можете сделать это:

find . -name \*xyz | xargs vim -p
0
27.01.2020, 20:00

Теги

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