Помогите написать shell-процедуру, которая:
• вводит передаваемое в качестве 1-го параметра количество символьных строк;
• в каждой введенной строке ищет подстроку, передаваемую в качестве второго параметра;
• заменяет каждую найденную подстроку на строку, передаваемую в качестве третьего параметра;
• выводит на экран каждую введенную строку и соответствующую ей новую строку.З.ы. Заранее благодарен!
>Помогите написать shell-процедуру, которая:А сам что?
>• вводит передаваемое в качестве 1-го параметра количество символьных строк;
read + цикл
>• в каждой введенной строке ищет подстроку, передаваемую в качестве второго параметра;
grep
>• заменяет каждую найденную подстроку на строку, передаваемую в качестве третьего параметра;
sed/perl/awk
>• выводит на экран каждую введенную строку и соответствующую ей новую строку.
echo/printf
Задание-то элементарное...
>[оверквотинг удален]
>>• заменяет каждую найденную подстроку на строку, передаваемую в качестве третьего параметра;
>
>sed/perl/awk
>
>>• выводит на экран каждую введенную строку и соответствующую ей новую строку.
>
>echo/printf
>
>
>Задание-то элементарное...Почему sed 's/$x/$y/g' myfile неработает ?
$x и $y - переменные в которых храниться искомая и заменяемая подстрока
Если вместо $x и $y подставить константы, то все прекрасно заменяется, но мне то заранее не известны подстроки.
>Почему sed 's/$x/$y/g' myfile неработает ?Потому что оболочка не подставляет значения переменных внутри одинарных кавычек. Используйте двойные кавычки.
BTW, это FAQ.