Перенаправление ввода/вывода при работе с файлами

Печать E-mail
Автор Administrator   
23.01.2008 г.
Теперь, когда мы знаем, как работать с файлами, можно рассмотреть несколько полезных примеров по перенаправлению ввода/вывода.

Теперь, когда мы знаем, как работать с файлами, можно рассмотреть несколь¬ко полезных примеров по перенаправлению ввода/вывода. Рассмотрим сле¬дующую команду:
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"
 

 
« Пред.   След. »
Copyright © 2003-2009. При перепечатке любого материала с сайта ссылка на RunOS.ru обязательна.
Все материалы размещенные на сайте предназначены исключительно для ознакомительных целей.
Автор некоторых материалов представленных на сайте Колисниченко Д. (Издательство БХВ).