С "полями" в строке удобнее всего работать с помощью программы 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 }'
выведет имена файлов без расширений.