MyTetra Share
Делитесь знаниями!
Как выделить столбец (поле) в строке
Время создания: 25.11.2009 21:42
Текстовые метки: linux, bash, awk, столбец, выделить, текст, строка, field,
Раздел: Компьютер - Linux - Bash - Команды и скрипты
Запись: xintrea/mytetra_syncro/master/base/0000001316/text.html на raw.github.com

С "полями" в строке удобнее всего работать с помощью программы awk.

Предположим, вывод комнады "ls -l" выглядит так

-rw-r--r-- 1 xi xi 182902 2007-11-19 18:42 scr_01.png

-rw-r--r-- 1 xi xi 205486 2007-11-19 19:01 scr_02.png

-rw-r--r-- 1 xi xi 268435 2007-11-22 01:23 scr_03.png

-rw-r--r-- 1 xi xi 99594 2008-01-02 23:52 scr_04_gspot.png

-rw-r--r-- 1 xi xi 76667 2008-01-11 21:53 scr_05_inkscape.png

-rw-r--r-- 1 xi xi 202568 2008-01-18 02:33 scr_06.png

-rw-r--r-- 1 xi xi 109440 2008-02-14 00:32 scr_07.png

-rw-r--r-- 1 xi xi 70369 2008-05-09 02:16 scr_08.png

-rw-r--r-- 1 xi xi 66065 2008-05-09 02:22 scr_09.png

Следущая команда выведет только размеры файлов

# ls -l | awk '{ print $5 }'

По умолчанию в качестве разделителей используются пробелы. Непрерывная последовательность разделителей (несколько пробелов) считается как один разделитель. Если в качестве разделителя нужно использовать другой символ, можно воспользоваться опцией -F, например команда

# ls -l | awk '{ print $8 }' | awk -F. '{ print $1 }'

выведет имена файлов без расширений.

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования