Вырезание текста с помощью cut
Команда cut выводит только указанные в командной строке символы, байты или поля из строк файла, направляя выводимые данные в стандартный поток вывода. Если файл для чтения не задан, то осуществляется ввод из стандарт- ного потока ввода.
Требуемые для вывода символы строки указывают после опции -c через за- пятую или тире (пример 8.18).
Пример 8.18. Команда cut |
$ ls -ld
drwx------ 51 user1 user1 3752 Oct 22 21:04 .
$ ls -ld | cut -c1-10,35-43 drwx------ 3752
Пример 8.18 показывает, как из информации, выводимой командой ls -ld, были извлечены требуемые диапазоны символов так, что в результате оста- лась информация только о правах доступа к каталогу и о его размере.
Можно указать номера требуемых байтов в строке для вывода, используя оп- цию -b.
Если предполагается, что строка разбита на поля, разделенные табуляцией, то с помощью команды cut –f можно вывести требуемые поля строк. На- пример, если требуется вывести из файла /etc/hosts, содержащего соответст- вия IP-адресов именам хостов, только заданные в нем IP-адреса без имен хос- тов, можно выполнить команду, приведенную в примере 8.19.
Пример 8.19. Вывод требуемых полей с помощью cut |
$ cut -f1 /etc/hosts 127.0.0.1
172.16.0.25
Во многих файлах используются другие символы-разделители. Разделитель полей можно указать после опции -d. Предположим, требуется получить список пользователей системы и их UID. Это просто сделать путем вывода первого и третьего полей файла /etc/passwd. Разделитель полей в этом фай- ле — двоеточие (пример 8.20).
Пример 8.20. Установка символа разделителя полей для cut |
$ cut -f1,3 -d: /etc/passwd
Дата добавления: 2015-06-12; просмотров: 532;