(sleep 10; xset dpms force suspend) & xdg-screensaver lock
Запускает экранную заставку в режиме блокировки, а затем помещает ваш дисплей в режим ожидания. Ubuntu Mate 15.10
Это красота sed, она применяет свои парадигмы к себе ... После команды (например, s или tr или ничего) следующий символ считается разделителем.
Вы должны разумно выбирать, чтобы избежать помех в оболочке и самой команде, и сохранить читаемость, но совершенно правильно написать что-то ужасное, как:
echo 'arrival' | sed srarbrg
... и получить brrivbl, в результате чего вы ожидаете. Вы можете повеселиться, сделав его действительно загадочным, например:
echo 'arrival' | sed s\fa\fb\fg # \f is form feed, chr(12)
. Обычно используется слэш как разделитель, но когда ваше выражение содержит разделитель, оно облегчает захват того, что намерение есть. Ваш разделитель может быть любым в диапазоне ASCII8 (многобайтовые разделители, такие как £, вызывают ошибку).
Просто помните, что цель - сделать вещи проще, а не более загадочными.
В sed команды замены обычно записываются как s/pattern/replacement/options. Однако нет необходимости использовать / - вы можете использовать другие символы, если это удобно, поэтому это может быть s@pattern@replacement@options или s:foo:bar:g. s@+@ @g походит на s/+/ /g - замените все + на пробелы. Аналогичным образом s@%@\\x@g заменяет все % на \x (один обратный слэш - это escape-символ в sed, поэтому вам нужно два, чтобы получить реальную обратную косую черту).
Затем строка, подобная foo+%2Fbar, стать foo \x2Fbar. printf "%b" будет расширять последовательности с экранами с обратным слэшем, такие как \x2F (символ ASCII, чье шестнадцатеричное значение равно 2F, которое равно /), чтобы дать вам foo /bar.
Это красота sed, она применяет свои парадигмы к себе ... После команды (например, s или tr или ничего) следующий символ считается разделителем.
Вы должны разумно выбирать, чтобы избежать помех в оболочке и самой команде, и сохранить читаемость, но совершенно правильно написать что-то ужасное, как:
echo 'arrival' | sed srarbrg
... и получить brrivbl, в результате чего вы ожидаете. Вы можете повеселиться, сделав его действительно загадочным, например:
echo 'arrival' | sed s\fa\fb\fg # \f is form feed, chr(12)
. Обычно используется слэш как разделитель, но когда ваше выражение содержит разделитель, оно облегчает захват того, что намерение есть. Ваш разделитель может быть любым в диапазоне ASCII8 (многобайтовые разделители, такие как £, вызывают ошибку).
Просто помните, что цель - сделать вещи проще, а не более загадочными.
В sed команды замены обычно записываются как s/pattern/replacement/options. Однако нет необходимости использовать / - вы можете использовать другие символы, если это удобно, поэтому это может быть s@pattern@replacement@options или s:foo:bar:g. s@+@ @g походит на s/+/ /g - замените все + на пробелы. Аналогичным образом s@%@\\x@g заменяет все % на \x (один обратный слэш - это escape-символ в sed, поэтому вам нужно два, чтобы получить реальную обратную косую черту).
Затем строка, подобная foo+%2Fbar, стать foo \x2Fbar. printf "%b" будет расширять последовательности с экранами с обратным слэшем, такие как \x2F (символ ASCII, чье шестнадцатеричное значение равно 2F, которое равно /), чтобы дать вам foo /bar.