UNIX — универсальная среда программирования
UNIX — универсальная среда программирования читать книгу онлайн
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями
shell.
Для программистов-пользователей операционной системы UNIX.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
$
записывает строки, соответствующие
"шабл"
файл1
файл2
$ sed 's/UNIX(TM)/gw u.out' имена_файлов...> выход
то здесь, как и ранее, весь выходной поток записывается в файл
"выход"
u.out
Иногда нужна помощь со стороны интерпретатора, чтобы в команду редактора включить аргументы командного файла. Одним из примеров служит программа
newer
$ cat newer
# newer f: список файлов, созданных после f
ls -t | sed '/'$1'$/q'
$
Кавычки защищают различные специальные символы, предназначенные для редактора, оставляя
$1
"/^$1$/q"
так как
$1
$
$
Аналогично можно составить программу
older
$ cat older
# older f: список файлов, созданных ранее f
ls -tr | sed '/'$1'$/q'
$
Единственное различие состоит в применении флага
-r
ls
Хотя редактор
sed
ed
sed
a | Добавлять строки к выходному потоку, пока одна из них не закончится на
|
b label | Перейти на команду: label |
c | Заменить строки на последующий текст, как в команде a |
d | Удалить строку; прочесть следующую входную строку |
i | Вставить последующий текст перед следующим выходным потоком |
l | Выдать строку, напечатав все невидимые символы |
p | Выдать строку |
q | Выйти |
r file | Читать file |
s/old/new/f | Заменить old new f g f p f w |
t label | Проверка: переход на метку, если была замена в текущей строке |
w file | Записать строку в файл |
y/str1/str2/ | Заменить каждый символ строки str1 str2 |
= | Выдать текущую нумерацию входной строки |
!cmd | Выполнить команду sed cmd |
: label | Установить метку для команд b t |
{ | Команды до соответствующей скобки } |
Таблица 4.2: Сводка команд sed
Редактор
sed
ed
/.../+1:
Измените команды
older
newer
С помощью редактора
sed
bundle