|
Теперь, когда мы знаем, как работать с файлами, можно рассмотреть несколько полезных примеров по перенаправлению ввода/вывода.
Теперь, когда мы знаем, как работать с файлами, можно рассмотреть несколь¬ко полезных примеров по перенаправлению ввода/вывода. Рассмотрим сле¬дующую команду: echo "some text" > file.txt Символ > означает, что вывод команды, находящейся слева от символа, будет записан в файл, находящийся справа от знака, при этом файл будет перезапи¬сан. Если вместо символа > указаны два символа », то исходный файл не будет перезаписан, а вывод команды будет добавлен в конец файла. echo "some text" > file.txt echo "more text" » file.txt cat file.txt some text more text Кроме символов > и >> для перенаправления ввода/вывода часто использует¬ся вертикальная черта (|). Предположим, что мы хотим вывести содержимое файла big_text: cat big_text Но в файле big_text много строк, поэтому мы ничего не успеем прочитать. Поэтому целесообразно отправить вывод команды cat какой-то программе, которая будет выводить файл постранично, например, cat big_text | more Конечно, это пример не очень убедительный, потому что для постраничного вывода гораздо удобнее использовать команду less: less big_text Вот еще один интересный пример. Допустим, мы хотим удалить файл file.txt без запроса, для этого можно использовать команду: echo у | rm file.txt Команда rm запросит подтверждение удаления (нужно нажать клавишу <Y>), но за нас это сделает команда echo. И еще один пример. Есть большой файл, и нам нужно найти в нем все стро¬ки, содержащие подстроку "555-555". Чтобы не делать это вручную, можно воспользоваться командой: cat file.txt | grep "555-555" |