G'day,
Awk более мощный. sed обычно более ограничен в своих возможностях.
Sed хорош для линейных изменений данных. У него есть несколько простых циклических конструкций, обычные элементы ed / ex / vi и регулярные выражения, подстановочные выражения, составные операторы, решения и т. Д. Большинство людей используют его для изменения данных по конвейеру.
Awk хорош для фильтрации или перестановки данных. В основном используется для отчетности.
Я бы посоветовал взглянуть на прекрасную книгу Дейла Догерти "sed & awk" ( продезинфицированная ссылка на Amazon ). Кстати, там также есть одно из лучших объяснений регулярных выражений.
Многие люди скажут, что в любом случае используйте Perl! (-:
Редактировать: Забыл сказать, что язык awk очень похож на C, что неудивительно, если учесть, что «k» в awk обозначает Брайана Кернигана. Да. Это Брайан Керниган!
Кроме того, sed работает только с потоками данных, тогда как awk работает как с потоками данных, так и с файлами.
НТН
ура, Sed работает только с потоками данных, тогда как awk работает как с потоками данных, так и с файлами.