Sed - найти и запустить команду

Это сработает и ответит на ваш вопрос, но не является особенно удовлетворительным решением.

timeout 15s tail -f /var/log/messages

Это запустит команду на 15 секунд, а затем уничтожит ее без необходимости нажимать^C

1
27.08.2019, 03:11
1 ответ

Как насчет

$ awk 'BEGIN{OFS=FS="="} $1 ~ /\.value$/ {$2 = 2 * length($2)} 1' app.properties 
prop1.value=4
prop2.value=10
prop3.url=https://google.com

Если вы хотите что-то более близкое к вашему sedподходу, то возможно

perl -pe 's/\.value=(.*)/sprintf ".value=%s", 2 * length $1/e' app.properties

или

perl -pe 's/(?<=\.value=).*/2 * length $&/e' app.properties
1
28.04.2021, 23:30

Теги

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