Так, і це саме ядро філософії Linux "Багато маленьких інструментів для збільшення масштабного процесу"
Linux використовує те, що називається трубами командного рядка.
Щоб їх використовувати, ви просто з'єднайте дві команди разом, використовуючи символ вертикальної смуги
|
Отже, у вашому випадку ви сказали, що хочете відправити вихід команди cat в команду sed, ви можете зробити це наступним чином
cat somefile | sed -n "/START-WORD-HERE/,/END-WORD-HERE/p"
Зауважте, що в цьому випадку ви більше НЕ вказуєте ім'я файлу після команди.
99% усіх команд Linux дозволить вам працювати за допомогою труб, але обов'язково прочитайте довідні сторінки для деяких з них, оскільки деякі з них вимагають, щоб ви все-таки вказали ім’я файлу, з яким потрібно працювати, але зазвичай вам скажуть використовувати a
-
(Мінус символу)
Замість імені файлу.
Також пам’ятайте, що в більшості випадків труба є лінійною, вихід якої з одного кінця утворює вхід другого, здійснюючи будь-які перетворення, виконані вздовж ланцюга.
Це означає, наприклад, якщо ви
cat somefile | grep someword | sed -n "/START-WORD-HERE/,/END-WORD-HERE/p"
Вхід до sed буде лише результатом будь-яких операцій, які виконують греп на вході від cat.
Завжди найкраще спершу тестувати / експериментувати з копією файлу, поки ви не дізнаєтесь, що все правильно виправлено, і не бійтеся розробляти речі покроково.
отримати
cat blah | grep bleah
біт правильно, перш ніж додати sed bit bit. Тоді отримайте біт sed безпосередньо перед додаванням awk / wc / що б там не було, перегляд результату крок за часом дозволить вам налагоджувати та перевіряти вашу трубу під час руху.
Існує багато команд, які виконують дуже багато різних робіт, і це чудова привід провести вечір, читаючи сторінки посібників з інструментального інструменту командного рядка Linux. Є інструменти для вирізання стовпців із файлів, перетворення текстових документів у текст, підрахунку рядків та багато іншого.
а потім, коли вам це набридло, ось посилання на статтю, яку я давно написав для PHP Builder, показуючи, як писати власні трубопровідні процесори в PHP.
http://www.phpbuilder.com/column/peter_shaw20090211.php3
Перш за все весело, ви можете зробити дивовижні речі з досить невеликою кількістю інструментів.