Это последняя команда в списке условий -, которая определяет выход из цикла while
.
while
clear
"is_purple_present_monitoring_script" | grep purple
do
sleep 15
done
Вы можете переместить условие в список действий -и использовать break
там (и использовать true
или :
в качестве условия -списка ), как с:
while
true
do
clear
"is_purple_present_monitoring_script" | grep purple || break
sleep 15
done
Но это был бы весьма надуманный способ использования цикла while
.
Если ваш sed
поддерживает обратные ссылки:
sed -E 's/^(.)./\1/'
sed 's/.//2' sample
Замыкающий 2
является «флагом» для команды s
в sed
(, точно так же, как иногда более -, используемым g
, является ), и он указывает sed
действовать только на 2-е совпадение регулярного выражения в каждой строке. Поскольку регулярное выражение.
(соответствует любому одиночному символу ), это удалит второй символ из каждой строки ввода.
В общем, после последнего разделителя /
команды s
можно использовать любое положительное целое число, чтобы пропустить некоторые совпадения в строке вперед.
В вашем конкретном случае
Вы можете использовать следующее правило
sed 's/.//2' sample
, где 2
соответствует второму символу.
В качестве примера для фиктивного входного файла с именемtest.txt
qwertyuiop
asdfghjkl
zxcvbnm
вывод команды sed 's/.//2' test.txt
равен
qertyuiop
adfghjkl
zcvbnm
Как правило
Вы можете удалить символ Nth
шаблона .
(, т. е. все символы ), используя
sed 's/.//N' sample