Я пытаюсь заменить указанную строку специальными символами в файле в linux. Я попытался использовать обратную косую черту перед каждым специальным символом, но получаю ошибки. Должно быть, что-то не хватает. Как достичь нижеследующего. Заранее спасибо:Sed заменить строку специальными символами
filter = [ "a/sda[0-9]*$/", "r/sd.*/" ] ---> Replace this line with below line
filter = [ "a/sda[0-9]*$/", "a/sdb[0-9]*$/", "r/sd.*/" ]
Отлично! Работал как шарм. Итак, вы могли бы помочь мне понять это больше. Итак, мы инициализируем текущую строку как переменную и подаем ее в sed, а именно @. Это я понял. Но как насчет ниже, что именно происходит с кавычками? sed 's @ ", @", "a/sdb [0-9] * $ /", @' –
В 'sed' в качестве разделителя берется любой символ после команды' s' (substitute). Итак, 'sed 's/a/b /'' совпадает с 'sed 's @ a @ b @''. Здесь, используя '@', убедитесь, что вам не нужно скрывать все символы '/' и т. Д. В ваших строках. –
Хорошо, это интересно. Я спрашивал об этом раньше: «, @», –