Как заменить блок строк внутри файла?

Вы пробовали запустить /bin/rm? А вы читали предупреждение в начале статьи?

Disclaimer : This is just a hack, not recommended for Actual Production Use

Я бы также прочитал комментарии к этому ответу на дубликат в Stack Overflow.

Если вы хотите на самом деле ограничить пользователя безопасно , вам, вероятно, придется изучить структуру разрешений, такую ​​​​как SELinux или AppArmor.

0
08.10.2021, 15:26
1 ответ

Использование любого awk в любой оболочке на каждом устройстве Unix и предположение, что строка ...во входных данных и строка ..в выходных данных буквально не существуют в ваших реальных данных и предназначены для представления текста, похожего на текст. вокруг них:

$ cat tst.awk
(val=="") && /.*\047$/ {
    tag = $0
    sub(/=.*/,"",tag)
    val = ""
}
tag != "" {
    split($0,f,/[\047:]/)
    val = (val == "" ? "" : val " ") f[2]
    if ( /\)$/ ) {
        print tag "=\"" val "\""
        tag = ""
    }
    next
}
{ print }

$ awk -f tst.awk file.txt
foo1=bar1
foo2="bar10 bar11 bar"
foo3=('bar3')
foo=1.2.33
2
09.10.2021, 14:58

Теги

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